我在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.否则,只需增加计数.为什么不在上面工作?
idr*_*rig 17
在我看来,您的代码实际上是尝试设置文档的$ inc字段,而不是在foo.count字段上使用$ inc修饰符.这可能是你想要的:
db.foobar.update(
{ name: "Foobar" },
{
$set: { 'foo.bar': 'bar' },
$inc: { 'foo.count': 1 }
}, true)
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
归档时间: |
|
查看次数: |
15343 次 |
最近记录: |