【问题标题】:Why is mongoose removing part of my query为什么猫鼬会删除我的部分查询
【发布时间】:2021-01-21 04:58:55
【问题描述】:

我有以下在 mongoDB CLI 中有效的查询:

db.organisations.updateOne({ _id: ObjectId("5f687da23a4dc9071baefd6d")}, {$pull: {courseIds: 
ObjectId("5f687b863a4dc9071baefd6c"), "groups.$[].courseIds": 
ObjectId("5f687b863a4dc9071baefd6c") }})

以下查询是我认为与猫鼬等效的查询:

await Organisation.updateOne({_id: "5f687da23a4dc9071baefd6d"},
{$pull: {courseIds: "5f687b863a4dc9071baefd6c", "groups.$[].courseIds": 
"5f687b863a4dc9071baefd6c"}})

使用 mongoose 调试,我可以看到 mongoose 转换为的以下查询正在删除数组中所有文档的拉取操作的整个后半部分。这是为什么呢?

organisations.updateOne({ _id: ObjectId("5f687da23a4dc9071baefd6d") }, { '$pull': { 
courseIds: ObjectId("5f687b863a4dc9071baefd6c") } }, {})

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    原来我有大笨蛋。我的猫鼬模式不正确。

    【讨论】:

      猜你喜欢
      • 2020-02-03
      • 2021-09-22
      • 1970-01-01
      • 1970-01-01
      • 2012-10-29
      • 2020-10-23
      • 2019-09-17
      • 2020-06-09
      • 2021-10-24
      相关资源
      最近更新 更多