MongoDB:如何在MongoDB Shell中删除集合的所有记录?

11 浏览
0 Comments

MongoDB:如何在MongoDB Shell中删除集合的所有记录?

我尝试了

db.users.remove(*)

,但是出现了错误,那么我该如何清除所有记录呢?

0
0 Comments

MongoDB: 如何删除MongoDB Shell中集合的所有记录?

问题原因:需要删除MongoDB Shell中集合的所有记录。

解决方法:

1. 使用以下命令删除MongoDB Shell或MongoDB Compass Shell中集合的所有记录(_MongoSH):

show dbs -> 列出所有数据库

use test-database -> 选择数据库

db.getCollection('orders').deleteMany({}) -> 选择集合并删除所有数据

2. 或者使用以下命令删除MongoDB Shell或MongoDB Compass Shell中集合的所有记录:

show dbs                     -> 列出所有数据库
use test-database            -> 选择数据库
db.orders.remove({})      -> 选择集合并删除所有数据

0
0 Comments

问题的出现原因是MongoDB中需要删除一个集合中的所有记录,但不清楚如何操作。文章提供了两种解决方法,分别是使用db.collection.deleteMany({})db.collection.remove({})方法。并提供了MongoDB官方文档的链接,以便进一步了解。

其中还指出remove()方法已被弃用,并附上了相关的警告信息的链接。

0
0 Comments

问题的原因是对于MongoDB中的集合删除操作,传入一个空文档作为参数即可删除所有记录。但是,如果确实想要删除所有记录,更好的做法是删除整个集合。这取决于集合中是否有用户定义的索引,即删除集合后准备集合的成本是否超过了使用remove()方法和drop()方法的时间差。

解决方法是使用db.user.remove({})删除所有记录。但是,现在这种方法已经被弃用,推荐使用db.user.deleteMany({})来代替。对于Mongo shell文档中的remove方法,没有看到任何说明它已被弃用的信息。可以提供支持该说法的链接或引用吗?抱歉,我最好说一下:它将在将来的版本中被弃用。它只是在终端中记录了这一声明。

另外,还有一个提及的方法是db.user.delete_all,但文中没有提供更多的信息。

0