嵌套在嵌套文档的数组中的对象的猫鼬更新值

时间:2019-11-04 17:15:34

标签: mongodb mongoose mongodb-query

我有一个像这样的mongo文档:

{
  _id: "...",
  nested_document: {
    _id: "...",
    myObject: {
      fields: [
        { value: "VALUE_TO_CHANGE" },
        { value: "KEEP_THIS_ONE" }
      ]
    }
  }
}

并且我正尝试用猫鼬更新VALUE_TO_CHANGE(按其索引):

await Model.findByIdAndUpdate(
    req.params.id,
    {
      $set: {
        "nested_document.myObject.fields.$[0].value": value
      }
    },
    {},
    () => {}
  );

但是没有任何更新。为什么?

谢谢

1 个答案:

答案 0 :(得分:0)

好吧,由于架构不严格,我需要在更新查询的配置中使用此参数,并且查询看起来像这样:

await Model.findByIdAndUpdate(
    req.params.id,
    {
      $set: {
        "nested_document.myObject.fields.0.value": value
      }
    },
    { strict: false },
    () => {}
  );