2
我想創建一個查詢,將增加在陣列內的對象的計數器,但如果該對象不存在 - 這將創建(upsering)
例如:
{
'_id' : 'someId',
someArray : [..,{'name':'a', 'count':234},..],
...
}
如何將對象{ '名': 'b'}的UPSERT將會是什麼樣子?
我正在使用Node.js的服務器端,如果這件事。
我想創建一個查詢,將增加在陣列內的對象的計數器,但如果該對象不存在 - 這將創建(upsering)
例如:
{
'_id' : 'someId',
someArray : [..,{'name':'a', 'count':234},..],
...
}
如何將對象{ '名': 'b'}的UPSERT將會是什麼樣子?
我正在使用Node.js的服務器端,如果這件事。
謝謝@freakish。
我確實改變了我的結構 - 但仍然保留着一個集合。而不是數組的我用了一個對象:
someObject : {'a':234, 'b':1}...
我這樣做,是因爲我知道有到UPSERT用$ INC財產的數組元素的問題: How to increment MongoDB document object fields inside an array
該解決方案對我的作品因爲我不希望在這個對象中有超過100個元素
我的建議:改變你的數據庫結構,即把'someArray'作爲參考你的主集合的單獨集合。 – freakish 2013-04-04 07:52:24