我正在尝试使用 MongoDB对 BSON的严格 JSON 表示来编写日期比较查询。
我希望它在 MongoDB shell (v2.4.3) 中工作
这是我尝试过的...
设置:创建一个at
日期为 2020 年 1 月 1 日的新文档
> 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 查询...没有 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