Значение обновления Mongoose в объекте, вложенном в массив во вложенном документе - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть документ на монго, подобный этому:

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

, и я пытаюсь обновить VALUE_TO_CHANGE (по его индексу) с помощью mongoose:

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

Но ничегообновляется. Почему?

Спасибо

1 Ответ

0 голосов
/ 04 ноября 2019

Хорошо, поскольку схема не является строгой, мне нужно использовать этот параметр в конфигурации запроса на обновление, и запрос выглядит так:

await Model.findByIdAndUpdate(
    req.params.id,
    {
      $set: {
        "nested_document.myObject.fields.0.value": value
      }
    },
    { strict: false },
    () => {}
  );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...