我正在尝试使用javascript作为安装脚本的一部分来创建mongo用户。
我想知道在继续下一个命令之前如何验证上一个命令的return语句。
例如,在以下脚本中,
var db = db.getSiblingDB("admin");
var status = db.createUser({user: "root",
pwd: "root",
roles: [
{ role: "root", db: "admin" }
]
});
我需要在运行更多命令之前验证db.createUser
是否成功。
有可能吗?当我尝试打印status
时,控制台抛出了undefined type
错误。
提前致谢。
答案 0 :(得分:1)
我需要在运行更多命令之前验证db.createUser是否成功。
默认情况下,如果没有收到任何错误,您可以依赖该特定命令成功。如果无法添加用户(因为已存在具有此名称的用户),则会引发错误。像这样:
2017-03-20T19:17:42.097+0300 E QUERY [thread1] Error: couldn't add user: User "root@admin" already exists :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.createUser@src/mongo/shell/db.js:1267:15
@(shell):1:14
如果您想要更加确定,请在db.getUsers()
的输出中查找新添加的用户。