2012-08-02 116 views
2

是否有蒙戈的findAndModify適用於每一個符合條件,而不是隻是第一個文件的方法嗎?我在mongodb.org上找不到它。蒙戈findAndModifyevery文件

謝謝。

+0

什麼是你想通過這樣來完成?就像你有一個基本的架構設計問題... – 2012-08-02 16:23:58

+0

我主辦Mongolab我的數據庫,我想手動刪除一些數據用於測試目的聽起來給我。雖然我的問題已得到解答。 – chenglou 2012-08-02 19:14:48

回答

2

docs page

該命令可用於原子修改文檔(最多一個) 並返回

所以,不,你只能在一個在操作時間在這裏。因此,除非您遍歷每個文檔,否則將無法以此方式使用findAndModify。另外,以findAndModify的方式工作,在大型數據集上執行此操作的性能會很糟糕。

你真正想要做的是使用update命令來實現這種類型的事情,而不是:

http://www.mongodb.org/display/DOCS/Updating/#Updating-update%28%29

4

您可以使用update()方法具有多參數爲真。

1

的findAndModify()操作將一次只適用於一個文件。如果你想讓它應用到多個文檔,您必須查詢使用find()方法操作這些文件,並在同一時間申請findAndModify()這些文件中的每一個。

注意的是,雖然個別findAndModify()命令是原子的集合findAndModify的()命令,你從上面的循環運行不是原子。