Я пытаюсь написать запрос сравнения даты, используя MongoDB строковое представление JSON BSON.
Мне бы хотелось, чтобы он работал в оболочке MongoDB (v2.4.3)
Вот что я пробовал...
Настройка: создайте новый документ с датой at
от 1 января 2020 года
> db.myTimes.insert({"at": new Date("2020-01-01")})
Использование нестрого запроса для даты > 2010, без проблем:
> db.myTimes.find({"at": {"$gt": new Date("2010-01-01")}})
{ "_id" : ObjectId([snipped]), "at" : ISODate("2020-01-01T00:00:00Z") }
Использование строгого запроса JSON, однако... NO DICE
> db.myTimes.find({"at": {"$gt": {"$date":"2010-01-01T00:00:00Z"}}})
> db.myTimes.find({"at": {"$gt": {"$date":"2010-01-01"}}})
> db.myTimes.find({"at": {"$gt": {"$date": 1262304000000}}})
> db.myTimes.find({"at": {"$lte": {"$date": 1262304000000}}})
(Как вы можете видеть, я пробовал даты ISO8601, времена эпохи, а также менял свой $gt
на $lte
на теорию о том, что они будут взаимоисключающими, поэтому один из них должен что-то вернуть: -)
Спасибо за любые указатели!
-B