Mongodb 字符串日期的MongoShell db查询不工作
我试图在记录的日期字段上查询我的数据库,但查询结果为零。我用的是MongoShell,也用过CompassMongodb 字符串日期的MongoShell db查询不工作,mongodb,mongodb-query,Mongodb,Mongodb Query,我试图在记录的日期字段上查询我的数据库,但查询结果为零。我用的是MongoShell,也用过Compass 我尝试过使用ISODate和Date的$eq变体: db.my_collection.find({“date_recorded”:{“$eq”:新的ISODate(“2017-06-09T01:27:33.967Z”)}).count() 我还尝试了带有ISODate和Date的$gte变体: db.my_collection.find({“date_recorded”:{“$gte
我尝试过使用ISODate和Date的$eq变体:
db.my_collection.find({“date_recorded”:{“$eq”:新的ISODate(“2017-06-09T01:27:33.967Z”)}).count()
我还尝试了带有ISODate和Date的$gte变体:
db.my_collection.find({“date_recorded”:{“$gte”:新日期(“2017-06-09T01:27:33.967Z”)}).count()
记录在数据库中,请注意突出显示的字段
就像@johnyhk所说的,记录的日期是一个字符串。要进行比较,我们需要将
date\u recorded
转换为日期,或者将is与字符串进行比较
以下查询可以获得预期的输出:
db.my_collection.find({
"date_recorded": {
$eq:"2017-06-09T01:27:33.967Z"
}
}).count()
db.my_collection.find({
$expr:{
$eq:[
{
$toDate:"$date_recorded"
},
new ISODate("2017-06-09T01:27:33.967Z")
]
}
}).count()