2013-04-04 60 views
2

我想創建一個查詢,將增加在陣列內的對象的計數器,但如果該對象不存在 - 這將創建(upsering)

例如:

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

如何將對象{ '名': 'b'}的UPSERT將會是什麼樣子?

我正在使用Node.js的服務器端,如果這件事。

+0

我的建議:改變你的數據庫結構,即把'someArray'作爲參考你的主集合的單獨集合。 – freakish 2013-04-04 07:52:24

回答

0

謝謝@freakish。

我確實改變了我的結構 - 但仍然保留着一個集合。而不是數組的我用了一個對象:

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

我這樣做,是因爲我知道有到UPSERT用$ INC財產的數組元素的問題: How to increment MongoDB document object fields inside an array

該解決方案對我的作品因爲我不希望在這個對象中有超過100個元素