我正在使用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。
答案 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)
是一个很好的例子并且运作完美。