Синтаксис MongoDB при обновлении двух разных свойств с помощью findOneAndUpdate ()

Я пытаюсь определить правильный синтаксис MongoDB, когда хочу обновить два отдельных свойства с помощью одного и того же findOneAndUpdate (). Это то, что у меня есть (и обновляется только первое свойство:

await Agency.findOneAndUpdate(
  {
    historicId: data.id_number
  },
  {
    $set: {
      "authorizations.supervisor": authorizationsSupervisor,
      $push: {
        "authorizations.policy": firstPolicyObj,
        "authorizations.policy": secondPolicyObj,
        "authorizations.policy": thirdPolicyObj
      }
    }
  },
  {
    returnNewDocument: true
  }
);

Как правильно структурировать этот синтаксис?

Модель документа выглядит так:

{
   _id: <ObjectId>,
   otherProp: <value>,
   authorizations: {
     supervisor: <ObjectId>,
     department: <value>,
     policy: [ 
       {
         category: <value>,
         requirements: [
           {},
           {}
         ]
       }
     ]
   }
}
Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
0
0
30
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
$set: {
         "authorizations.supervisor": authorizationsSupervisor,
      },
$push: { 
        "authorizations.policy": { $each: [ firstPolicyObj, secondPolicyObj, thirdPolicyObj] 
      }

Другие вопросы по теме