当前位置: 首页 > 面试题库 >

MongoError:“ cursor”选项是必需的,但带有explain参数的聚合除外

宗政卓
2023-03-14
问题内容

即使遇到以下错误,我仍在使用最新版本的mongodb 3.6 …

MongoError: The 'cursor' option is required, except for aggregate with the explain argument
const user = await User.aggregate([
      { $group: {
          _id: '$_id',
          domain: { $push: "$domain" },
          domain: { $push: "$email" },
          domain: { $push: "$userName" }
        }
      }
    ])

问题答案:

谢谢@Neil Lunn

更新猫鼬。5.0之前的Mongoose版本与MongoDB 3.6不正确匹配。MongoDB 3.6将聚合API从“ cursor
optional”更改为“ cursor only”,并且较旧的mongoose版本通过尝试使用不建议使用的方法来请求数组来打破这一点。



 类似资料:
  • 问题内容: 执行以下聚合管道: 引发以下异常: 我不明白这里的光标选项是什么意思。该选项应在哪里配置? 编辑 这是一个示例用户文档 问题答案: 从文档。 MongoDB 3.4不建议使用不带游标选项的聚合命令,除非管道包括解释选项。使用聚合命令以内联方式返回聚合结果时,请使用默认批处理大小游标:{}指定游标选项,或在游标选项游标:{batchSize:}中指定批处理大小。 你可以通过与在春季蒙戈2

  • 垂直。x版本:3.4.1 MongoDB服务器版本:4.0.2 运行聚合查询时,出现以下错误: 命令失败,出现错误9:“需要“cursor”选项,但在服务器localhost:27017上“aggregate with The explain”参数除外。完整响应为{“ok”:0.0,“errmsg”:“需要‘cursor’选项,但与explain参数聚合除外”,“code”:9,“codeName

  • 问题内容: 我试图使用Spring Data MongoDB 3.6-rc4执行聚合操作。 但是在运行查询时出现以下错误 提前致谢!! 问题答案: MongoDB在3.6中更改了聚合命令的工作方式。聚合现在需要一个游标。我们改编了Spring Data MongoDB 2.1, 但没有改编以前的版本。 聚合必须通过集合的方法来调用,而不是直接调用命令。这也是我们没有回溯变更的原因。不再被调用,我们

  • 我刚刚开始创建我的第一个OpenAPI定义(2.0版),我一直被这个错误所困扰: 无效的OpenAPI文件。请修复模式错误:\n\"/参数/分类Param\":域:验证;关键字:oneOf;消息:实例与一个模式不完全匹配;匹配:0" 它只是一个类似于“/cat/count”的查询,它将返回一个整数,即有多少猫-“cat”是所需的路径参数。我的参数定义到底有什么问题?

  • 问题内容: 我正在使用Mocha为我的Node.js应用程序编写测试用例。测试用例需要API密钥作为额外的输入选项或参数。API密钥是私有的,因此我不想将其直接包含在测试文件中,因为每个人都可以在GitHub上看到它。我知道Mocha有一些可用的选项: http://mochajs.org/#usage 但是是否可以包含一些参数,以使测试人员可以在命令行中为测试指定自己的API密钥?如: 问题答案

  • 问题内容: 如果我将@Builder添加到类中。创建了builder方法。 我有一个需要特定字段的要求。在这种情况下,名称字段是必填字段,而不是姓氏。理想情况下,我想这样声明。 我不知道该怎么做。我尝试将@Builder添加到构造函数中,但没有成功。 问题答案: 您可以使用Lombok批注配置轻松完成此操作 然后像那样使用 当然这里是可选的。