我有一个执行命令的管道,我想用它来将用户添加到MongoDB。我在stackoverflow上看到了类似的答案,但这些答案适用于较旧的MongoDB版本(他们使用.addUser()
代替.createUser()
)。
到目前为止,我已经尝试过这个:
'mongo {AUTH_URL} admin --eval "db.createUser({ createUser: {DB_USERNAME}, pwd: {DB_USER_PASSWORD}, roles: [{ role: "readWrite", db: {DB_NAME}}]})'
所以我需要的是一行代码,它将为我创建用户,我将通过环境变量设置所有必要的元素。 如果有人可以提供终端命令的示例来创建一个很棒的新用户。
答案 0 :(得分:3)
mongo
use admin
db.createUser({user:'admin',pwd:'admin',roles:
[{role:'root',db:'admin'}]})
use newdatabase
db.createUser({user:'database_user',pwd:'newdatabasepass',roles:[{role:'readWrite',db:'newdatabase'}]})
答案 1 :(得分:1)
根据给出的文档,您需要传递这样的值。
db.createUser({user: "<username>",pwd: "<password>", roles: [{ role: "readWrite", db: "<dbName>" }, "clusterAdmin"]})
这是根据最新文档。
答案 2 :(得分:0)