如何删除符合特定条件的MongoDB数据库?



我有很多数据库,我可以逐个删除它们。但是数据库太多了,我怎么能一次删除它们呢?

例如,删除所有名称包含"recommend"的数据库。

您可以使用db.adminCommand

db.adminCommand("listDatabases").databases.forEach( function (d) {
if (d.name == "recommend")
db.getSiblingDB(d.name).dropDatabase();
})

可以为特定的db添加多个条件。

以下是可用的命令列表:https://docs.mongodb.com/manual/reference/command/nav-administration/

这里有更多关于它的文档:https://docs.mongodb.com/manual/reference/method/db.adminCommand/

listDatabases命令返回所有数据库,您可以迭代该列表以删除匹配条件的数据库。

在mongo shell中可能看起来像:

db.adminCommand("listDatabases").databases.
filter(d => d.name.match(/recommend/)).
map(d => db.getSiblingDB(d.name).dropDatabase())

最新更新