gpt4 book ai didi

node.js - 如何在node.js中验证 Mongoose 连接mongodb

转载 作者:IT老高 更新时间:2023-10-28 13:17:59 27 4
gpt4 key购买 nike

我已经用命令创建了 mongodb 用户

use admin
db.createUser(
{
user: "superuser",
pwd: "12345678",
roles: [ "root" ]
}
)

然后在我的应用程序中,我尝试像这样连接 Mongoose

var options = {
user: "superuser",
pass: "12345678"
};


var mongooseConnectionString = 'mongodb://localhost/twitter-mongo';

mongoose.connect(mongooseConnectionString,options);
mongoose.model('User', UserSchema);

var User = mongoose.model('User');

通过 Mongoose 插入数据时出现此错误

MongoError: not authorized for insert on twitter-mongo.users

请告诉我我的代码有什么问题

最佳答案

您必须在连接字符串中声明 authSource 参数,以便指定包含您的用户凭据的数据库的名称:

var options = {
user: "superuser",
pass: "12345678"
};

var mongooseConnectionString = 'mongodb://localhost/twitter-mongo?authSource=admin';

注意:对于 Mongoose 4.x 的用户,您可能还希望在您的 options 对象中包含 useMongoClient: true。这会使 请使用带有身份验证凭据的 MongoClient.connect 进行身份验证open() 已弃用 错误消息。

关于node.js - 如何在node.js中验证 Mongoose 连接mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26694824/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com