2013-10-07 35 views
3

我對工作的MongoDB使用C#驅動程序MongoDB的查詢。我想查詢mongoDb數據庫來找出從今天的日期起EventDate大於13個月的那一行。使用C#日期時間

我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

有不止一種方法,但是這將是一個與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的實例。

+0

感謝您的查詢。我試圖刪除我在上面的查詢中獲得的那些記錄。請更新你的回答。 –

+0

刪除記錄,只是改變'Find'到'Remove' – mnemosyn

+0

你能不能給我解釋一下什麼是「P」是?我還是新來蒙戈和LINQ – M009

0

DateTime.UtcNow.AddMonths(-13)就是一個很好的例子和完美的作品。