MongoDB 如何使用 $date 运算符进行查询?

2024-05-11

编辑 - 上下文:我正在使用 Talend ETL 工具,并在查询中使用 ISODate 或 Date 或 new Date,如下所示失败并出现错误,因此我需要解决方法:

{'dt' : ISODate('2014-01-01') }
{'dt' : Date('2014-01-01') }
{'dt' : new Date('2014-01-01') }

如果没有以下错误,我无法这样做:

at com.mongodb.util.JSONParser.read(JSON.java:272)
at com.mongodb.util.JSONParser.parse(JSON.java:161)
at com.mongodb.util.JSONParser.parseObject(JSON.java:231)
at com.mongodb.util.JSONParser.parse(JSON.java:195)
at com.mongodb.util.JSONParser.parse(JSON.java:145)
at com.mongodb.util.JSON.parse(JSON.java:81)
at com.mongodb.util.JSON.parse(JSON.java:66)

大概是因为 ETL 工具调用:

com.mongodb.DBObject myQuery_tMongoDBInput_1 = (com.mongodb.DBObject) com.mongodb.util.JSON
                    .parse("{'dt': new Date('2000-01-01T08:00:00Z')}");

鉴于我无法使用new Date()在查询中com.mongodb.util.JSON.parse()方法,有解决办法吗?


我正在使用 MongoDB v2.6.3 并且无法让 $date 运算符工作。

db.testdate.insert( {dt:ISODate('2014-01-01')} )
db.testdate.find()
db.testdate.find( {dt : {$date : '2014-01-01T00:00:00Z'}} )

错误: { "$err" : "无法规范化查询:BadValue 未知顶级运算符:$date", “代码”:17287}

db.testdate.find(  {dt : {$gte : {$date : '2000-01-01T00:00:00Z'}}} )

我见过其他使用 $date 运算符有效的示例,但无法在我的计算机上执行此操作。

有谁知道为什么?


$date已准备好工具mongoimport, mongoexport等Mongo shell无法识别它,你应该使用Date() or ISODate()反而。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB 如何使用 $date 运算符进行查询? 的相关文章

  • Mongodb:$HINT 的性能影响

    我有一个使用复合索引并在 id 上排序的查询 复合索引在索引末尾有 id 它工作正常 直到我添加 gt我的查询的子句 IE 初始查询 db colletion find field1 blabla field2 blabla sort id
  • MongoDB + Neo4J vs OrientDB vs ArangoDB [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我目前正处于 MMO 浏览器游戏的设计阶段 游戏将包括一些实时位置的图块地图 因此每个单元格的图块数据 和通用世界地图 我更喜欢使用 Mongo
  • 如何在 Mongo 聚合管道的 $unwind 阶段保留零长度值?

    我正在使用聚合管道编写 Mongo 查询 在聚合过程中 我需要 unwind领域之一 但是 我不想要 unwind排除该字段具有零长度数组的条目 因为我仍然需要它们进一步深入管道 我的领域叫做items它是一个对象数组 每个对象包含两个值
  • 如何查看MongoDB当前配置

    我找到了不同的文档配置选项 http docs mongodb org manual administration configuration 但是如何检查实时系统上正在使用哪些选项 有没有办法查看设置了哪些选项 或者至少正在使用哪个配置文
  • 如何使用 java 执行此 MongoDB 查询?

    我必须写一个简单的MongoDB查询使用java但我做不到 mongo 查询如下所示 db yourCollection find where this startDate lt this endDate 我必须使用以下命令编写上述查询Qu
  • 在节点中使用mongoosejs更新多条记录

    我在使用 mongoosejs 和 Node js 更新多个记录时遇到问题 由于某种原因 即使有多个匹配 我也只更新一条记录 我还注意到回调在 update 之后不会触发 我没有收到任何错误消息 这里发生了什么 Page find stat
  • MongoDb聚合

    如何使用 mongoDb 聚合编写模拟查询 select count as ccount from a group by a someField order by ccount desc limit 1 使用 mongoDb 中的 grou
  • 使用 Homebrew 安装 mongodb 时遇到问题

    我正在尝试让 Mongo 运行 我安装了包管理器Homebrew https brew sh 然后我使用了 Mongo 站点上的命令 brew update brew install mongodb 这似乎安装正确 我输入了mongo在新的
  • 如何在 mongodb 查询中过滤数组

    在 mongodb 中 我有一个包含单个文档的集合 如下所示 id ObjectId 5552b7fd9e8c7572e36e39df StackSummaries StackId arn aws cloudformation ap sou
  • Spring mongodb 指南针缺少创建的数据/集合

    我使用 spring 将数据保存到数据库 RepositoryRestResource collectionResourceRel operators path operators public interface OperatorsRep
  • 我可以通过mongo shell重启mongodb服务器吗?

    我可以通过 mongo CLI 客户端重新启动 MongoDB 服务器吗 您无法从客户端停止和启动 重新启动 它 正如 i kimiko 已经提到的 你可以在客户端上关闭它db shutdownServer 通过 mongo shell数据
  • 节点 mongodb:错误:由于 parseError 连接已关闭

    使用本机 mongodb npm 包 我收到 Error connection closed due to parseError 进行非常基本的查询时 collections myCollection findOne id someID f
  • 如何在没有objectid字段的mongodb集合上查找上次更新/插入/删除操作时间

    我在 MongoDb 数据库中有一些未使用的集合 我必须找出对数据库中的集合执行 CRUD 操作的时间 我们有自己的 id字段 而不是mongo默认的object id 我们没有任何时间在集合中归档以找出修改时间 有没有办法从元数据中找出m
  • 无法连接到服务器 127.0.0.1:27017 连接尝试失败 MongoDB

    我正在使用 Ubuntu 操作系统 16 04 我正在使用命令启动 mongodb sudo service mongod start进而mongo 它为我生成了这个错误 MongoDB shell version v4 0 1 conne
  • 如何验证 ObjectID

    使用 Joi 模式验证 是否可以针对 MongoDB ObjectID 进行验证 像这样的事情可能很棒 id Joi ObjectId required error errorParser 我发现如果我这样做 Joi object id J
  • Mongodb 聚合数组中的子文档

    我正在使用 mongodb 作为后端实现一个小型应用程序 在此应用程序中 我有一个数据结构 其中文档将包含一个包含子文档数组的字段 我使用以下用例作为基础 http docs mongodb org manual use cases inv
  • 为 Meteor 数据创建编号列表

    有没有办法获取 Meteor 集合中项目的编号列表的 编号 我知道我可以在 html 中做到这一点 但我觉得如果我可以在 spacebars 中放置一些东西 那么样式会更容易 如果我可以使用更好的术语 请告诉我 像这样的东西 前 20 部电
  • Mongodump之后,调用MongoRestore挂起

    我们正在尝试在相对较小的数据库上做一个简单的 MongoDump 我们的步骤很简单 export 从目标机器上删除现有数据库 在目标机器上导入 MongoDump 完美执行 mongodump out root mongo prod DB
  • Mongodb - 为现有集合添加架构

    我的 MongoDB 中有一个包含 1300 万条记录的集合 不幸的是 当我创建这个集合时 没有为其创建模式 我想知道除了备份整个数据库 创建架构并上传所有数据之外 是否有任何方法可以添加 JSON 架构 您可以使用以下方法将 JSON 架
  • 获取对象数组中每个嵌套对象的虚拟属性?

    所以我知道如何获取单个虚拟属性 如 Mongoose 文档中所述 PersonSchema virtual name full get function return this name first this name last 但如果我的

随机推荐