首页 > 解决方案 > 如何使用 node.js 和 MongoDB Atlas 删除数据库?

问题描述

我是 MongoDB 和 node.js 的新手,我想知道如何删除数据库。我找了找,发现是用dropDatabase()方法搞定的。问题是它显示了一个MongoError: user is not allowed to do action [dropDatabase] on [test.]. 我也搜索了这个错误,我发现的答案是用户需要注册为Data Access Read Write. 但是,我在 mongo atlas 中的用户已注册Project Owner为答案所述。我删除Project Owner了它仍然显示错误。

MongoClient.connect(uri, { useNewUrlParser: true }, (err, client)=>{
    if(err) throw err;
    console.log("Connected...");
    const db = client.db("test");
    db.dropDatabase();
    console.log("asdfghj")
    client.close();
});

事实上,每当我搜索修复在搜索栏中输入的问题时,即使我正在输入Mongo atlas,结果也一样。所以我不知道是否可以在 mongo atlas 中删除数据库。先感谢您。How to delete cluster in mongo atlasdelete database in mongo atlas

标签: node.jsmongodbexpress

解决方案


看起来您将“Atlas Project”安全性与“Database Access”混淆了。

如果您正在寻找从 Atlas 集群中删除数据库,则用于登录 Mongo 客户端的“数据库用户”需要在相关数据库中具有“dbAdmin”角色。然后,您可以通过 Mongo 客户端以编程方式使用您的数据库用户执行相关操作。

管理数据库用户和安全角色可以参考https://docs.atlas.mongodb.com/security-add-mongodb-users/


推荐阅读