//the first user
{
"_id" : "admin.guguji55",
"user" : "guguji55",
"db" : "admin",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}
//the second user
{
"_id" : "test.guguji66",
"user" : "guguji66",
"db" : "test",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}
我创建了两个用户,'guguji55'无法连接我的测试数据库,但'guguji66'可以做到。我不知道为什么。我的nodejs连接代码如下:
MongoClient.connect('mongodb://guguji66:du****kuan****@localhost:27017/test', function(err, db) {});
答案 0 :(得分:0)
//the first user
{
"_id" : "admin.guguji55",
"user" : "guguji55",
"db" : "admin",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}
//the second user
{
"_id" : "test.guguji66",
"user" : "guguji66",
"db" : "test",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}
参考上面的块,您为admin数据库创建了第一个用户(guguji55)。和测试数据库的第二个用户(guguji66)。 并且您试图将测试数据库与您无法连接的第一个用户连接起来。
答案 1 :(得分:0)
让我向您解释具体情况,您的用户发生了什么。
当您创建第一个用户guguji55
时,您就在数据库admin
内。所以用户创建了admin
数据库的链接。
//the firsr user
{
"_id" : "admin.guguji55",
"user" : "guguji55",
"db" : "admin",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}
第二个用户在test
数据库中创建,因此它链接到测试数据库,这就是您无法通过guguji55
访问测试数据库的原因。
<强> 解决方案: 强>
删除第一个用户guguji55
并重新创建它,无需在任何数据库中或在test
数据库内部。
有关详细参考,请参阅此处 link