Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb中的日期比较_Mongodb_Date - Fatal编程技术网

mongodb中的日期比较

mongodb中的日期比较,mongodb,date,Mongodb,Date,我想检索特定日期后的所有文档。 我的数据库的日期为-DateAdded:“2014-12-17 10:03:46.000Z” 我编写了以下查询- 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") I

我想检索特定日期后的所有文档。 我的数据库的日期为-
DateAdded:“2014-12-17 10:03:46.000Z”

我编写了以下查询-

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帮助器中,但无法在查询中转换

查看此链接了解更多信息:

您可以使用此链接:

db.collection.find({DateAdded:{"$lte":new Date("2017-11-01")}})
它会将您的日期格式转换为以下格式:

ISODate("2017-11-01T00:00:00Z")

使用ISODate

格式:

{'field': {$operator: ISODate(yyyy-MM-ddThh:mm:ss.msZ)}}
例如:

db.getCollection('yourCollection').find({'sampleField': {$lte: ISODate('2015-06-17T10:03:46.000Z')}})

您的日期是字符串格式。您需要以IOSDate格式保存/更新它,以从当前查询中获取结果。它仅为日期格式。请尝试使用ISODate(“2015-06-17 10:03:46.000Z”)它可以工作。谢谢。:)你能解释一下前一个没有的原因吗?@L_7337当你添加一个关于日期和ISODate之间差异的简短解释时,你可以将此作为答案发布。Mongo shell允许查询
日期,因为它在查询Mongo日期字段时似乎没有用处,这有什么原因吗?