You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB仅当用户不存在时才创建的简单实现示例

幂等性MongoDB用户创建脚本实现

核心逻辑是通过db.getUser()方法查询指定库下的用户是否存在,查询结果为空时再执行创建操作,适配你当前使用的MongoDB 4.2版本环境。

修改后的完整脚本如下:

// MongoDB shell version v4.2.17
// 切换到testdb库
db = db.getSiblingDB('testdb');

const targetUser = 'testuser';
// 检查目标用户是否已存在
const isUserExist = db.getUser(targetUser) !== null;

if (!isUserExist) {
    // 用户不存在时执行创建
    db.createUser(
        {
            user: targetUser,
            pwd: 'testpass',
            roles: [ 'readWrite' ]
        }
    );
    print(`用户${targetUser}创建完成`);
} else {
    print(`用户${targetUser}已存在,跳过创建流程`);
}

补充说明:

  • 用户名统一提取为变量targetUser,后续调整用户名只需修改一处,避免多处修改出现拼写不一致的问题
  • 脚本运行时会输出对应操作日志,可直接确认执行结果
  • 若有需要同步更新已存在用户的密码、权限的需求,可在else分支添加db.updateUser()逻辑实现

内容的提问来源于stack exchange,提问作者Vab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 16:36:02