2011-10-05 64 views
1
db.collection.update(criteria, objNew, upsert, multi) 

參考意義使用{}爲準則,以update什麼是用於更新功能

我見過的{}內更新以下使用的標準。

collection.update({}, {$push : { x : 1}}) 

{}是什麼意思?這是否意味着沒有標準?

回答

5

update的第一個參數指定用於查找要更新的文檔的標準。將第一個參數設置爲{}將與集合中的每個文檔匹配。默認情況下,只有第一個匹配項會被更新。要更新所有匹配的文檔,請將multi設置爲true。

+0

並非所有文檔都受到影響。如果你想獲得結果,你必須應用下面的語句,而不是'db.collection.update({},{$ push:{x:1}},false,true)''。請注意,默認情況下,update()只會修改第一個匹配的對象。 – q0987

+0

感謝您指出我。 – maxenglander

+0

編輯您的答案以包含那一點信息。這是一個奇怪的默認值。 –

0

只有當你指定multiple爲true(這是第四個參數)時,maxenglander所說的是真的。

否則只會更新第一個文檔(以mongo的自然順序)