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

时间:2015-02-11 12:29:15

标签: mongodb

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

db.collection.remove({})

db.collection.drop()

2 个答案:

答案 0 :(得分:3)

删除集合中的所有文档

db.collection.remove({}) 

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

删除集合和所有附加索引

db.collection.drop() 

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

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

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

答案 1 :(得分:2)

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

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

因此两种操作都存在差异。第一个更快但它会删除更多的元信息。如果你想要它们,你就不应该使用它。

相关问题