MongoDB "eval" 执行顺序

MongoDB "eval" order of execution

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

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

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

是否可以在mongodbshell中执行此功能?以下调用不成功

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

给出错误 createReader 未定义

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

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