Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用findOneAndUpdate()更新两个不同属性时的MongoDB语法_Mongodb - Fatal编程技术网

使用findOneAndUpdate()更新两个不同属性时的MongoDB语法

使用findOneAndUpdate()更新两个不同属性时的MongoDB语法,mongodb,Mongodb,当我想用相同的findOneAndUpdate更新两个单独的属性时,我试图确定正确的MongoDB语法。这就是我拥有的,它只更新了第一个属性: await Agency.findOneAndUpdate( { historicId: data.id_number }, { $set: { "authorizations.supervisor": authorizationsSupervisor, $push: { "author

当我想用相同的findOneAndUpdate更新两个单独的属性时,我试图确定正确的MongoDB语法。这就是我拥有的,它只更新了第一个属性:

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: [
           {},
           {}
         ]
       }
     ]
   }
}
$set: {
         "authorizations.supervisor": authorizationsSupervisor,
      },
$push: { 
        "authorizations.policy": { $each: [ firstPolicyObj, secondPolicyObj, thirdPolicyObj] 
      }