2011-11-30 91 views
1

上的更新,我試圖創建一個新的數組元素或添加到現有陣列,這是我怎麼解釋$ addToSet工作:

http://www.mongodb.org/display/DOCS/Updating

但我得到什麼,如果 「標籤」 是不存在的價值是作爲一個對象,而不是一個數組:使用

:{ 「FreeShipping」 「0」:},

「標籤」

db.collection.update({size:10.5},{$ addToSet:{tag:「FreeShipping」}});

回答

2

我只是想複製這一點,並得到正確的結果請檢查以下內容:

> use test 
switched to db test 
> db.test.insert({item:"test"}); 

> db.test.findOne(); 
{ "_id" : ObjectId("4ed69f9d1812423106a229ac"), "item" : "test" } 

> db.test.update({item:"test"},{$addToSet:{tag:"FreeShipping"}}); 

> db.test.findOne(); 
{ 
    "_id" : ObjectId("4ed69f9d1812423106a229ac"), 
    "item" : "test", 
    "tag" : [ 
     "FreeShipping" 
    ] 
} 

能請你告訴你的查詢添加呢?與目前使用的MongoDB版本一樣,它看起來像預期的那樣工作(並且正如你所假設的那樣)。

謝謝!

+0

看起來像這是一個RockMongo錯誤。當我用shell進行查詢時,我得到了正確的響應。但RockMongo顯示:「tag」:{ 「0」:「FreeShipping」 }, – Brad

+0

有關RockMongo在地圖中顯示數組的詳細信息,請參閱http://groups.google.com/group/mongodb-user/browse_thread/thread/58ec035fa1780101 – Brad