2

我想创建一个查询,它将增加数组内对象中的计数器,但如果该对象不存在 - 它将被创建(upsering)

例子:

{
'_id' : 'someId',
someArray : [..,{'name':'a', 'count':234},..],
...
}

对象{'name' : 'b'}的 upsert会是什么样子?

如果有关系,我将 Node.js 用于服务器端。

4

1 回答 1

0

谢谢@freakish。

我确实改变了我的结构——但仍然保留了一个系列。我使用了一个对象而不是数组:

someObject : {'a':234, 'b':1}...

我这样做是因为我知道使用 $inc 属性更新数组元素存在问题: How to increase MongoDB document object fields inside an array

这个解决方案对我有用,因为我不希望这个对象中有超过 100 个元素

于 2013-04-04T09:06:58.773 回答