Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js MongoError:身份验证失败_Node.js_Mongodb - Fatal编程技术网

Node.js MongoError:身份验证失败

Node.js MongoError:身份验证失败,node.js,mongodb,Node.js,Mongodb,我正在尝试使用mongodb安装应用程序。我显然需要 nano /etc/mongo.conf and uncomment "auth=true" 但是没有这样的设置,我甚至检查了/etc/mongod.conf,其中没有auth=true 因此,我被告知要使用userAdminAnyDatabase添加用户,所以我进入mongo shell并尝试 db.createUser({ user: "username", pwd: "password", roles: ["userAdminAnyD

我正在尝试使用mongodb安装应用程序。我显然需要

nano /etc/mongo.conf and uncomment "auth=true"
但是没有这样的设置,我甚至检查了/etc/mongod.conf,其中没有auth=true

因此,我被告知要使用userAdminAnyDatabase添加用户,所以我进入mongo shell并尝试

db.createUser({ user: "username", pwd: "password", roles: ["userAdminAnyDatabase"] });
我得到

Error: couldn't add user: No role named userAdminAnyDatabase@test
我要做的就是找到我的管理连接设置,或者干脆禁用localhost auth,然后继续安装


你知道我做错了什么吗?

你需要在
管理
数据库中运行此语句,你当前正在对
测试
数据库运行它。在Mongo shell中键入
使用admin
,切换到admin数据库。您还需要授予用户
readWriteAnyDatabase
角色

db.grantRolesToUser(
 "username",
[
  { role: "readAnyDatabase", db:"admin" }
]
)

看起来我之前已经在管理数据库中运行了该语句,但是您的回答是正确的,因为我正在尝试测试。但是,当我尝试连接时,我得到:错误:nodeb无法连接到您的Mongo数据库。Mongo返回以下错误:身份验证失败。这与我提供的凭据相同。谢谢,我如何在查询中授予readWriteAnyDatabase角色?