我尝试做的很简单,我在文档中有一个数组 ;
"tags": [
{
"t" : "architecture",
"n" : 12
},
{
"t" : "contemporary",
"n" : 2
},
{
"t" : "creative",
"n" : 1
},
{
"t" : "concrete",
"n" : 3
}
]
Run Code Online (Sandbox Code Playgroud)
我想将一个项目数组推送到数组
["architecture","blabladontexist"]
Run Code Online (Sandbox Code Playgroud)
如果item存在,我想增加对象的n
值(在这种情况下是它architecture
),
如果不这样做,请将其添加为新项目(值为n=0
){ "t": "blabladontexist", "n":0}
我已经试过$addToSet
,$set
,$inc
,$upsert: true
有这么多的组合,不能做到这一点.
我们怎样才能在MongoDB中做到这一点?
我不相信这可以通过单个命令来完成。
MongoDB 不允许 $set (或 $setOnInsert)和 $inc 在单个命令中影响同一字段。
您必须执行一个更新命令来尝试 $inc 该字段,如果这不会更改任何文档 (n = 0),请执行更新以 $set 该字段为其默认值。
归档时间: |
|
查看次数: |
982 次 |
最近记录: |