对于我们的一个Node.js应用程序-我们有一个MongoDB集合,如下所示:
[
{
"field1": {
"key1": true,
"key2": false
}
},
{
"field1": {
"key1": true,
"key2": true
}
}
]
我们需要使用以下逻辑进行更新:
field1
存在
key1
和key2
是true
field1
设置为[key1, key2]
key1
和key2
是false
field1
设置为[]
key1
是true
并且key2
是false
field1
设置为[key1]
key1
是false
并且key2
是true
field1
设置为[key2]
如您所见,我这里有 多个条件 。
我知道以下update command:
document.update({
condition
}, {
$set: {
required updates
}
}, {
multi: true
})
.then(() => {})
.catch((err) => {});
或者我可能会在每个文档上循环播放,但这太白了。 MongoDB中有一些高级功能可以处理吗?
此更新命令的问题是我不能有多个条件语句和多个相应的$set命令。
因此问题归结为:
如何基于多个条件和多个相应的
$set
命令来更新MongoDB集合。