如何使用脚本在mongodb中创建用户?

Lee*_*der 6 javascript mongodb

我正在设置mongodb,我们使用puppet来控制服务器的配置.

我已经设置了大多数东西我需要它们,但我需要在mongo数据库中创建用户.

我知道如何使用mongo shell执行此操作,我知道我可以使用命令使用javascript/a .js

db.addUser("username", "password"[, readOnly])
Run Code Online (Sandbox Code Playgroud)

但是,我一直无法找到在javascript中执行此操作所需的实例.更重要的是,我需要能够使用某种shell脚本从命令行添加用户.

如果有人可以

a)给我一些使用javascript和mongoDB的实例

b)如何从命令行执行此操作?

AD7*_*six 14

Mongo的cli告诉你如何将它与js文件一起使用

$ mongo --help
MongoDB shell version: 2.0.3
usage: mongo [options] [db address] [file names (ending in .js)]
...
Run Code Online (Sandbox Code Playgroud)

用法:mongo [选项] [db地址] [文件名(以.js结尾)]

例如:

$ echo 'db.addUser("guest", "passwordForGuest", true);' > file.js
$ mongo mydb file.js
MongoDB shell version: 2.0.3
connecting to: mydb
{ "n" : 0, "connectionId" : 1, "err" : null, "ok" : 1 }
{
    "user" : "guest",
    "readOnly" : true,
    "pwd" : "b90ba46d452e5b5ecec64cb64ac5fd90",
    "_id" : ObjectId("4fbea2b013aacb728754fe10")
}
Run Code Online (Sandbox Code Playgroud)

Udpate:
自2.6以来不推荐使用db.addUser
https://docs.mongodb.com/v2.6/reference/method/db.addUser/

db.createUser改为使用:

// file.js
db.createUser(
  {
    user: "guest",
    pwd: "passwordForGuest",
    roles: [ { role: "read", db: "mydb" } ]
  }
)
Run Code Online (Sandbox Code Playgroud)

$ mongo mydb file.js