仅当 MongoDB 中不存在时才创建用户(简单示例)
Create user only if not exists in MongoDB (simple example)
我是 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"
可用性,仅当检查失败时。
试试这个:
if (db.getUser("testuser") == null) {
db.createUser(
{
user: "testuser",
pwd: "testpass",
roles: [ "readWrite" ]
}
);
}
注意,通常用户是在 admin
数据库中创建的。其实我不知道为什么要在其他地方创建它们。
我是 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"
可用性,仅当检查失败时。
试试这个:
if (db.getUser("testuser") == null) {
db.createUser(
{
user: "testuser",
pwd: "testpass",
roles: [ "readWrite" ]
}
);
}
注意,通常用户是在 admin
数据库中创建的。其实我不知道为什么要在其他地方创建它们。