3

我正在使用 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。

4

2 回答 2

4

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

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

这会将光标返回到"yourClass"集合中EventDate小于 13 个月前的所有文档,并将它们反序列化为YourClass.

于 2013-10-07T08:28:15.480 回答
0

DateTime.UtcNow.AddMonths(-13)是一个很好的例子,效果很好。

于 2014-08-13T20:24:04.683 回答