Обновление массива вложенных вложенных документов - Mongoose

В настоящее время у меня есть следующая структура для одного из моих документов

Company: {
   Buildings: [{
       Users: [ { _id: ObjectID, name: String, number: String } ]
   }]
}

Я пытаюсь обновить имя и номер пользователя и в настоящее время протестировал и проверил следующий запрос в монго:

db.companies.update(
    { "_id": companyID, "buildings._id": buildingID, "buildings.users._id": userID }
    , 
    { $set: { "buildings.$.users.0.name": "A new name for the user" } }
);

Однако этот запрос корректно обновляется, когда я запускаю тот же точный запрос с использованием мангуста

Company.findOneAndUpdate(
  { _id: companyID, "buildings._id": buildingID, "buildings.users._id": userID }
  ,
  { $set: { "buildings.$.users.0.name": newName }})

Я не получаю ошибки, но обновление не выполняется.

Обновление глубоко вложенного массива недоступно в Mongoose?


person Dfranc3373    schedule 05.12.2016    source источник


Ответы (1)


Ответ был найден в альтернативном ответе на этот вопрос:

Ответ: https://stackoverflow.com/a/28952991/1327815

person Dfranc3373    schedule 09.12.2016