【问题标题】:MongoError exception: FieldPath field names may not start with '$'MongoError 异常:FieldPath 字段名称可能不以“$”开头
【发布时间】:2015-06-25 23:18:06
【问题描述】:

我们刚刚将 AWS 上的基础设施从一个账户迁移到另一个账户。 服务器上安装的mongo版本是2.4.9 我是 MongoDb 的新手,在运行 Web 应用程序时遇到以下 2 个错误 -

{"name":"MongoError","errmsg":"exception: FieldPath field names may not start with '$'.","code":16410,"ok":0}

{"name":"MongoError","errmsg":"exception: the $cond operator requires an array of 3 operands","code":16019,"ok":0}

该网络应用正在处理我们之前的实例。谁能指出我正确的方向?

【问题讨论】:

  • 这里提供查询会更好。 mongo 2.6 和 2.4 中的包名称发生了变化。此链接可能对您有用 - stackoverflow.com/questions/23011193/…
  • 您能否提供您的 MongoDB 驱动程序版本和查询示例?另外,您之前迁移的 MongoDB 驱动程序和服务器版本是什么?
  • 我们遇到此错误的部分示例查询:{ $group: { _id: "$brand_id", twitter: {$push: "$$ROOT"} } } 问题是,我们以前的服务器实例已终止,我们无法检查我们在它们上使用的版本。但是,我几乎可以肯定它是 2.6。如何检查我的 MongoDb 驱动程序版本?另外,如果我将 mongodb 版本从 2.4 更新到 2.6,是否需要备份?

标签: mongodb amazon-web-services database-migration


【解决方案1】:

升级到最新的 mongodb (3.0.2) 帮助我解决了这个问题。

附: - 确保使用 killall -15 而不是 pkill -9 杀死已经运行的 mongod 进程,因为后者可能会造成损坏。

【讨论】:

    猜你喜欢
    • 2021-08-16
    • 1970-01-01
    • 2020-11-27
    • 2017-09-27
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    相关资源
    最近更新 更多