您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在mongodb中使用ISODate进行日期查询似乎不起作用

在mongodb中使用ISODate进行日期查询似乎不起作用

尽管它$dateMongoDB Extended JSON的一部分,但这是您认使用的,mongoexport我认为您不能真正将其用作查询的一部分。

如果尝试使用$date类似以下的精确搜索

db.foo.find({dt: {"$date": "2012-01-01T15:00:00.000Z"}})

你会得到错误

error: { "$err" : "invalid operator: $date", "code" : 10068 }

试试这个:

db.mycollection.find({
    "dt" : {"$gte": new Date("2013-10-01T00:00:00.000Z")}
})

或(在@user3805045之后发表评论):

db.mycollection.find({
    "dt" : {"$gte": ISODate("2013-10-01T00:00:00.000Z")}
})

ISODate可能还需要比较没有时间的日期(@MattMolnar指出)。

根据mongo Shell中的数据类型,两者应等效:

mongo shell提供了多种返回日期方法,这些方法可以是字符串,也可以是Date对象:

并且using ISODate应该仍然返回Date对象

{"$date": "ISO-8601 string"}当需要严格的JSON表示形式时可以使用。Hadoop连接器就是一个可能的例子。

mongodb 2022/1/1 18:16:38 有365人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶