MongoDB“eval”执行顺序

时间:2016-02-09 11:03:39

标签: javascript mongodb shell execution

如何使用MongoDB shell定义函数并使用它?

在脚本文件createusers.js中,有以下代码用于创建在特定数据库上具有读取角色的用户。

function createReader(database, username, password)
{
db.getSiblingDB(database).createUser({
    user  : username,
    pwd   : password,
    roles : [ { role : "read", db : database } ]
});
}

是否有可能在mongodb shell中执行此功能?以下调用未成功

mongo --eval="createReader('somedb', 'user1', 'pass1')" createusers.js

错误未定义createReader

1 个答案:

答案 0 :(得分:5)

您可以使用load()eval加载js文件:

mongo --eval "load('createusers.js'); createReader('somedb', 'user1', 'pass1')"