我想在特定日期后检索所有文档。 我的数据库有日期 - DateAdded:"2014-12-17 10:03:46.000Z"
mongodb中的日期比较
我写了下面的query
db.collection.find({DateAdded:{"$lte":new Date("2015-06-17 10:03:46.000Z")}})
但结果不取即使是日期高达2015-06-24
记录的任何记录。
我想在特定日期后检索所有文档。 我的数据库有日期 - DateAdded:"2014-12-17 10:03:46.000Z"
mongodb中的日期比较
我写了下面的query
db.collection.find({DateAdded:{"$lte":new Date("2015-06-17 10:03:46.000Z")}})
但结果不取即使是日期高达2015-06-24
记录的任何记录。
您可以使用ISODate比较日期:
"$lte" : ISODate("2015-06-17T10:03:46Z")
ISODate作品,因为这是你的日期格式
new Date()
包装日期在ISODate帮手,但无法在您的查询中进行转换。
退房此链接了解更多信息:http://docs.mongodb.org/manual/core/shell-types/
您可以使用此:
db.collection.find({DateAdded:{"$lte":new Date("2017-11-01")}})
将您的日期格式转换成这样:
ISODate("2017-11-01T00:00:00Z")
确认日期在mongodb的类型是Date。 然后ISO日期转换应该由mongo自动工作。 例如
Task.find({ date: { $gt: "2018-01-30T16:08:53.758Z", $lte: "2018-02-01T02:08:53.770Z" }})
检查这个帖子出来stack question
使用ISODate
format: {'field': {$operator: ISODate(yyyy-MM-ddThh:mm:ss.msZ)}}
example: db.getCollection('yourCollection').find({'sampleField': {$lte: ISODate('2015-06-17T10:03:46.000Z')}})
您的日期字符串格式。您需要以IOSDate格式“保存/更新”以获取当前查询的结果。 – Vishwas
仅限于日期格式。 – maggs
尝试'“$ gte”:ISODate(“2015-06-17 10:03:46.000Z”)' –