栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

尽管它

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

如果尝试使用

$date
类似以下的精确搜索:

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

你会得到错误:

error: { "$err" : "invalid operator: $date", "pre" : 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对象:

  • Date()方法,以字符串形式返回当前日期。
  • 新的Date()构造函数,该构造函数使用ISODate()包装器返回Date对象。
  • ISODate()构造函数,该构造函数使用ISODate()包装器返回Date对象。

并且using

ISODate
应该仍然返回Date对象。

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



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/404156.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号