2011-08-19 75 views
3

我可以通過移除,拉取,取消設置來移除文檔或元素。在mongoDB中刪除vs pull vs unset

這三者之間有什麼不同?

哪一個更安全的方式來消除當代指揮問題?

哪一個是最快最有效的刪除方法?

回答

10

remove從集合中刪除文檔。這就像一個SQL DELETE。

$pull$unset是更改文檔部分的更新操作。它們與SQL UPDATE類似。

$pull從數組中刪除元素。

$unset刪除整個數組(或任何其他字段)。

哪一個是最快最有效的刪除方法?

由於他們完全不同的事情,這不是一個有意義的問題。

+1

不知何故,我甚至無法通過刪除({條件})刪除文檔,所以我試圖通過使用$ pull – InspiredJW

+2

將其刪除如果您可以用條件查找文檔,那麼您可以「刪除」它。你確定這個條件是正確的嗎? – Thilo