|
public>
{
public static void InsertContent(string>
{
Content k = new Content
{
Author = author,
Detail = detail,
Img = img,
Title =>
Click = 0,
Type = type,
CreateTime = ((DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000)
};
try
{
var collection = _database.GetCollection<Content>("content");
collection.InsertOne(k);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
public static void UpdateContent(string>
{
var collection = _database.GetCollection<Content>("content");
var filter = Builders<Content>.Filter.Eq(x => x.Id, new ObjectId(id));
var up = Builders<Content>.Update
.Set(x => x.Title,>
.Set(x => x.Detail, detail)
.Set(x => x.Author, author)
.Set(x => x.Img, img)
.Set(x => x.Type, type);
collection.UpdateOneAsync(filter, up);
}
public static Content Get(string>
{
var collection = _database.GetCollection<Content>("content");
var filter = Builders<Content>.Filter.Eq(x => x.Id, new ObjectId(id));
var up = Builders<Content>.Update.Inc(x => x.Click, 1);
var results = collection.FindOneAndUpdate(filter, up);
return results;
}
public static List<Content> GetContentList(int pageIndex, int pageSize, out int count, bool isShow = true)
{
var collection = _database.GetCollection<Content>("content");
var builder = Builders<Content>.Filter;
var filter = builder.Gt(x => x.Click, -100);
if (isShow)
{
filter = builder.And(filter, builder.Eq(x => x.IsFinished, true));
}
var sort = Builders<Content>.Sort.Descending(x => x.CreateTime);
var num = collection.Count(filter);
count = Convert.ToInt32(num);
var results = collection.Find(filter).Sort(sort).Skip((pageIndex - 1) * pageSize).Limit(pageSize);
return results.ToList();
}
public static List<Content> GetContentTypeList(int type, int pageIndex, int pageSize, out int count)
{
var collection = _database.GetCollection<Content>("content");
var filter = Builders<Content>.Filter.Where(x => x.Click > -100 && x.IsFinished == true && x.Type == type);
var sort = Builders<Content>.Sort.Descending(x => x.CreateTime);
var num = collection.Count(filter);
count = Convert.ToInt32(num);
var results = collection.Find(filter).Sort(sort).Skip((pageIndex - 1) * pageSize).Limit(pageSize);
return results.ToList();
}
public static List<Content> GetContentSiteMap()
{
var collection = _database.GetCollection<Content>("content");
var filter = Builders<Content>.Filter.Where(x => x.Click > -100 && x.IsFinished == true);
var sort = Builders<Content>.Sort.Descending(x => x.CreateTime);
var project = Builders<Content>.Projection.Exclude(x => x.Detail);
var results = collection.Find(filter).Project<Content>(project).Sort(sort);
return results.ToList();
}
public static void UpdateContentTrue(string>
{
var collection = _database.GetCollection<Content>("content");
var filter = Builders<Content>.Filter.Eq(x => x.Id, new ObjectId(id));
var up = Builders<Content>.Update
.Set(x => x.IsFinished, true)
.Set(x => x.CreateTime, ((DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000));
var results = collection.FindOneAndUpdate(filter, up);
}
} |
|
|