MongoDb使用C#查询日期时间

时间:2013-10-07 04:49:36

标签: c# mongodb

我正在使用C#驱动程序处理MongoDb。我想查询mongoDb数据库,找出EventDate从今天起大于13个月的行。

我的MongoDb结构类似于以下内容:

EventDate的数据类型为:DateTime

{
   "_id" : ObjectId("525239e3e9374f1c3ce4123b"),
   "RowId" : 41133552,
   "EventDate" : ISODate("2013-08-19T00:00:28Z"),
   "Product" : "supporttool",
   "Language" : "en",
   "GUID" : "67cd73d4-36bc-4c9f-9a4c-144b38d4e928",
}

请允许任何人帮助我获取活动日期超过13个月的数据的MongoCollection。

2 个答案:

答案 0 :(得分:4)

它的方法不止一种,但这将是LINQ扩展方法语法的方法:

MongoDatabase db = YourMongoDatabaseObject;
var cursor = db.GetCollection<YourClass>("yourClass").Find(
   Query<YourClass>.LT(p => p.EventDate, DateTime.UtcNow.AddMonths(-13));

这会将光标返回到"yourClass"集合中少于13个月前EventDate的所有文档,并将其反序列化为YourClass的实例。

答案 1 :(得分:0)

DateTime.UtcNow.AddMonths(-13)是一个很好的例子并且运作完美。