在MongoDB中,remove、pull和unset有什么区别?

4

我可以通过 remove、pull 和 unset 来删除文档或元素。

这三者之间有什么区别?

在当代指令问题中,哪种方法是更安全的删除方式?

哪一种方法是最快和最有效的删除方式?

1个回答

15

remove 从集合中删除一个文档,就像 SQL 中的 DELETE。

$pull$unset 是更新操作,用于更改文档的部分内容,类似于 SQL 中的 UPDATE。

$pull 从数组中删除元素。

$unset 删除整个数组(或任何其他字段)。

哪一个是最快和最有效的删除方式?

由于它们执行完全不同的操作,这不是一个有意义的问题。


1
不知何故,我甚至无法通过remove({condition})删除文档,所以我正在尝试使用$pull来删除它。 - jwchang
2
如果您可以根据条件找到文档,那么您就可以将其删除。您确定条件正确吗? - Thilo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接