从 mongodb 中删除所有条目的有效方法

Efficient way to remove all entries from mongodb

mongodb collection 中删除所有条目的更好方法是什么?

db.collection.remove({})

db.collection.drop()

db.collection.drop() 将删除整个集合(非常快)和集合中的所有索引。

db.collection.remove({}) 将删除所有条目,但集合和索引仍然存在。

所以两者的操作是有区别的。第一个速度更快,但会删除更多元信息。如果你想偷他们,你不应该使用它。

删除集合中的所有文档

db.collection.remove({}) 

只会删除集合中的所有数据,但保留所有索引不变。如果将新文档添加到集合中,它们将填充现有索引。

删除集合和所有附加索引

db.collection.drop() 

将删除集合和所有索引。如果重新创建集合,则也需要重新创建索引。

从你的问题来看,如果你只想从集合中删除所有实体,那么使用 db.collection.remove({}) 会更好,因为这样可以保持集合的完整性,所有索引仍然存在。

从速度的角度来看,drop() 命令更快。