我是 MongoDB
和 .js
的新手。
我有一个简单的 add_app_user.js
脚本,其中包含以下内容:
# MongoDB shell version v4.2.17
# Set the database to 'testdb'.
db = db.getSiblingDB('testdb');
# Create new user.
db.createUser(
{
user: "testuser",
pwd: "testpass",
roles: [ "readWrite" ]
}
);
第一次(当这样的用户不存在时)效果很好。
我需要使其幂等。
我找不到一个简单易懂的脚本来检查“testdb”
中的“testuser”
可用性,并仅在检查时运行我的脚本 block 失败。
最佳答案
试试这个:
if (db.getUser("testuser") == null) {
db.createUser(
{
user: "testuser",
pwd: "testpass",
roles: [ "readWrite" ]
}
);
}
注意,通常用户是在 admin
数据库中创建的。实际上我不知道为什么应该在其他地方创建它们。
关于mongodb - 仅当 MongoDB 中不存在时才创建用户(简单示例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70241431/