Запрос документа в Mongo с использованием DateTime C#

#c# #mongodb

#c# #mongodb

Вопрос:

У меня есть документ mongo с таким DateTime:

 "_id" : "58064346e74f22124037a607",
    "DateEffective" : "2016-10-18T15:44:01.083Z",
  

В моем коде на C # я хочу запросить свою коллекцию для любого документа, который эффективен по дате до сегодняшней даты, вот мои разработчики:

 var filterDefinition = builder.Lt("DateEffective", new BsonDateTime(DateTime.Now))
var result =  collection.Find(filterDefinition).ToList()
  

мой результат.Количество равно 0

есть идеи?

Комментарии:

1. Вы должны использовать new BsonDateTime(DateTime.Now.Date) , чтобы не учитывать текущее время дня. Однако не уверен, решит ли это вашу проблему.

2. Я понимаю, что это не работает

Ответ №1:

Согласно вашему документу «DateEffective» — это не дата, это строка. В строковом ключе меньше, чем не будет работать. Поэтому измените свой «DateEffective» на формат даты

документ должен быть в этом формате

 {
    "_id" : ObjectId("58064346e74f22124037a607"),
    "DateEffective" : ISODate("2016-10-18T15:44:01.083Z")
}
  

не в этом формате

 {
"_id" : "58064346e74f22124037a607",
"DateEffective" : "2016-10-18T15:44:01.083Z"
}