MongoDB"eval"执行顺序

dis*_*ame 3 javascript shell execution mongodb

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

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

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

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

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

给出错误createReader没有定义.

mne*_*syn 5

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

mongo --eval "load('createusers.js'); createReader('somedb', 'user1', 'pass1')"
Run Code Online (Sandbox Code Playgroud)