Node.js 删除MongoShell中MongoDB集合中的所有文档

Node.js 删除MongoShell中MongoDB集合中的所有文档,node.js,mongodb,mongodb-query,Node.js,Mongodb,Mongodb Query,我想删除所有MongoDB集合中的所有文档。是否有方法删除所有集合中的所有文档 我使用的是db.collection.remove({}),但它只删除一个集合中的所有文档。有什么命令要做吗?我主要使用NodeJS,也许有机会使用NodeJS删除所有集合中的所有文档 对不起,如果这个问题是愚蠢的,刚开始在MongoDB中工作。如前所述-您可以使用删除整个数据库或删除集合,或者如果只是删除所有集合中的所有文档,则需要在集合列表上迭代,并在查询条件中实现或不实现任何过滤器 要单独删除每个集合中的文档:

我想删除所有MongoDB集合中的所有文档。是否有方法删除所有集合中的所有文档

我使用的是
db.collection.remove({})
,但它只删除一个集合中的所有文档。有什么命令要做吗?我主要使用NodeJS,也许有机会使用NodeJS删除所有集合中的所有文档


对不起,如果这个问题是愚蠢的,刚开始在MongoDB中工作。

如前所述-您可以使用删除整个数据库或删除集合,或者如果只是删除所有集合中的所有文档,则需要在集合列表上迭代,并在查询条件中实现或不实现任何过滤器

要单独删除每个集合中的文档:

首先使用列出所有集合名称,然后删除文档

let colls = db.getCollectionNames() // Mongo shell can accept .Js Func's, if you've more collections you can use parallel as well
colls.forEach(eachColl => db[eachColl].remove({})) // or .deleteMany() or . findAndModify()
这样,MongoDB服务器上仍然存在数据库和空集合。也许你们可以在某个时候检查一下可用的收藏清单后回来,或者重新命名一些收藏等等

但是,如果您只是不想查看在不久的将来存在的集合名称,请继续使用
drop
命令删除数据库,因为您希望从所有集合中删除所有文档-为什么首选它?这是因为与SQL数据库不同,如果您第一次将文档写入数据库中的集合,MongoDB会自动创建数据库和集合。因此,在MongoDB中,您可能不需要维护包含空集合的数据库


假设您正在查询名为
friends
的集合,该集合位于
mylife
数据库中-假设该集合已被删除/丢失/从未存在,则
。find()
将返回
[]
空数组与在DB上查询空集合相同-这是MongoDB的优势,因为它不会在不匹配的名称上引发错误。

@Valijon我想保存所有集合,但删除其中的文档。您可以使用DB.listCollections()获取所有集合,然后运行循环从集合中删除记录