2013-07-24 52 views
4

如何在mongodb C#驅動程序中比較沒有時間的日期?mongodb C#比較日期而不是時間

我嘗試使用這段代碼,它不起作用。

MongoCursor<Log> query = _logCollection.FindAs<Log>(
           Query.And(Query.EQ("Date.getDate()", date.Day), 
             Query.EQ("Date.getMonth()", date.Month), 
             Query.EQ("Date.getYear()", date.Year))); 

你有什麼想法嗎?

回答

8

查詢的日期,其中包括你的日期範圍:

var beginDate = date.Date;   // e.g. 7/24/2013 00:00:00 
var endDate = beginDate.AddDays(1); // e.g. 7/25/2013 00:00:00 

var query = Query.And(Query<Log>.GTE(l => l.Date, beginDate), // including 
         Query<Log>.LT(l => l.Date, endDate)); // not including 

var result = _logCollection.FindAs<Log>(query); 

同樣的,LINQ(MongoDB.Driver.Linq命名空間):

var result = from l in _logCollection.AsQueryable() 
      where l.Date >= beginDate && l.Date < endDate 
      select l;