从mongodb collection
删除所有条目的更好方法是什么?
db.collection.remove({})
或
db.collection.drop()
答案 0 :(得分:3)
删除集合中的所有文档
db.collection.remove({})
只删除集合中的所有数据,但保留所有索引。如果将新文档添加到集合中,则会填充现有索引。
删除集合和所有附加索引
db.collection.drop()
将删除集合和所有索引。如果重新创建集合,则还需要重新创建索引。
根据您的问题,如果您只想从集合中删除所有实体,那么使用db.collection.remove({})
会更好,因为这样可以保持集合完整,所有索引仍然存在。
从速度的角度来看,drop()
命令更快。
答案 1 :(得分:2)
db.collection.drop()
将删除整个集合(非常快)和集合上的所有索引。
db.collection.remove({})
将删除所有条目,但集合和索引仍然存在。
因此两种操作都存在差异。第一个更快但它会删除更多的元信息。如果你想要它们,你就不应该使用它。