2014-07-17 26 views

回答

6

不同的是,FindAndModify()返回文檔,無論是更新前或更新後的版本,一起與更新,在一個原子操作。更新是原子性的,但不會返回文檔,所以如果您隨後查詢它,則可能會在此期間由另一個進程更改。

當修改一個單獨的文檔,無論findAndModify()和 update()方法原子更新文檔。

請注意,這是針對單個文檔 - 更新可以修改多個文檔,findandmodify不能。

此外,findandmodify()可以刪除文檔,update()不能。

http://docs.mongodb.org/manual/reference/method/db.collection.findAndModify/

+0

爲什麼不只是添加選項:具有FindAndModify的返回新的更新,而不是:) –

+0

它還會刪除太 - 它不只是一個更新的修改,認爲它更多的是圍繞着一個包裝?查詢以及使用數據庫鎖保護的刪除或更新。 –

+0

刪除文件我可以使用remove()。我想直到他們添加這樣的選項來更新我們必須使用FindAndUpdate :) –