我在mongodb控制台尝试这个:
db.foobar.update(
{ name: "Foobar" },
{
$set : { foo: { bar: 'bar' },
$inc: { 'foo.count': 1 }
}
}, true)
Run Code Online (Sandbox Code Playgroud)
它返回"ok",但db.foobar.find()返回一个空记录集.我正在尝试upsert一个文档,所以它看起来像:
name: Foobar
foo: {
bar: 'bar'
count: 1
}
Run Code Online (Sandbox Code Playgroud)
如果doc不存在,则创建一个计数为1.否则,只需增加计数.为什么不在上面工作?
我正在为Spring使用mongotemplate,我想知道如何以原子方式增加我在一个数组中的一个文件的值.想象一下,我们有
{'a':1,
b:[{_id:341432,
c:2
},
{_id:341445,
c:3
}]};
Run Code Online (Sandbox Code Playgroud)
对于_id 341445,我想要的是将c从3增加到4
我一直在使用findAndModify,但我不知道如何为数组中的嵌套文档创建它.
问候.