MongoDB “eval” 的执行顺序

MongoDB "eval" order of execution

本文关键字:执行 顺序 eval MongoDB      更新时间:2023-09-26

如何使用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

给出错误 创建读取器 未定义

您可以使用

load()eval加载js文件:

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