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