【发布时间】:2018-11-27 16:30:22
【问题描述】:
我知道这个问题类似于这个问题:
UserNotFound: Could not find user admin@automation
PyMongo - UserNotFound: Could not find user authenticated@admin
,但答案对我没有帮助,我现在非常绝望:(
我的后端异常:
来自客户端的 sDatabase 上的 nodejs 的 SCRAM-SHA-1 身份验证失败 20.345.145.12; UserNotFound: 找不到用户 nodejs@sDatabase
Mongo DB 版本:3.2.20
我的前端异常:
MongoError:身份验证失败。
NodeJS 版本:8.9.4
NodeJS mongodb 依赖版本:~3.0.10
我的用户:
> db.getUsers()
[
{
"_id" : "sDatabase.nodejs",
"user" : "nodejs",
"db" : "sDatabase",
"roles" : [
{
"role" : "readWrite",
"db" : "sDatabase"
}
]
}
]
>
我的 nodeJS 代码 [与其他 mongoDB 数据库一起使用]:
var MongoClient = require('mongodb').MongoClient;
var pwd = "1234", //also tried with encodeURIComponent
username = "nodejs",
host = "1234.567.898.765",
database = "sDatabase";
var url = "mongodb://" + username + ":" + pwd + "@" + host + ":27017/" + database; //also tried: ?authMechanism=SCRAM-SHA-1 //?authSource=sDatabase&w=1
MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("Database created!");
db.close();
});
非常感谢您的每一个回答、评论和有用的信。
【问题讨论】:
-
那么用户nodejs不存在,你需要创建它
-
我以为我创建了它,因为当我在数据库中编写 db.getUsers() 时,他来了。
-
你先
use sDatabase了吗? -
是的。 :/。 . . .
-
20.345.145.12不是有效的 IP 地址。有什么东西看起来弯曲了。
标签: node.js linux database mongodb ubuntu