MongoDB的C#驱动程序在查询日期时间时无法正常工作

时间:2015-10-19 13:14:57

标签: c# mongodb

我的MongoDB中有一个文档:

{
  "_id" : ObjectId("5624e8c8470b460f1cf1c323"),
  "body" : "【ex】test",
  "datetime" : ISODate("2015-10-19T12:57:41.836Z"),
  "source" : "wx",
  "title" : "for test"
}

这是我的查询方法:

public Task<List<InfoLogModel>> GetLogByFilter(DateTime? startAt = null, DateTime? endAt = null)
{
    var collection = //...
    List<FilterDefinition<InfoLogModel>> QueryConditionList = new List<FilterDefinition<InfoLogModel>>();
    if (startAt != null)
        QueryConditionList.Add(Builders<InfoLogModel>.Filter.Gte(aa => aa.datetime, (BsonDateTime)startAt));
    if (endAt != null)
        QueryConditionList.Add(Builders<InfoLogModel>.Filter.Lte(aa => aa.datetime, (BsonDateTime)endAt));
    var filter = Builders<InfoLogModel>.Filter.And(QueryConditionList);
    return collection.Find(filter).ToListAsync();
}

很奇怪,当我的startAtDateTime.Parse("2015/10/20")时,结果计数为0,这很好。

但是当我设置startAt = DateTime.Parse("2015/10/19 20:00:00")时,我很惊讶地得到了这份文件。

该文件的datetime是2015/10/19 12:57:41,即使我过滤了文件,我什么时候可以拿到文件?

0 个答案:

没有答案