Sun*_*kat 9 connection-string mongoose mongodb
我可以通过终端连接到DB,但是使用mongoose和gulp来获取此错误.mongoose/node_modules/mongodb/lib/mongodb/connection/base.js:246 MongoError:auth failed
我的连接字符串是:
mongodb://usr:psw@localhost:27017/dbname
Run Code Online (Sandbox Code Playgroud)
知道它可以是什么吗?
小智 30
我在https://bitnami.com/stack/mean上安装了MEAN for Windows 7安装时我输入的密码是123456
语法使用mongoose连接到mongodb
mongoose.connect("mongodb://[usr]:[pwd]@localhost:[port]/[db]",{auth:{authdb:"admin"}});
Run Code Online (Sandbox Code Playgroud)
如果没有
{auth:{authdb:"admin"}}
Run Code Online (Sandbox Code Playgroud)
您将收到错误消息"MongoError:auth failed"
示例: mongo-test/app.js
var mongoose = require('mongoose');
mongoose.connect('mongodb://root:123456@localhost/test',{auth:{authdb:"admin"}});
mongoose.set('debug', true); // turn on debug
Run Code Online (Sandbox Code Playgroud)
ali*_*imi 12
只需添加?authSource=yourDB&w=1到数据库URL的末尾
mongoose.connect('mongodb://user:password@host/yourDB?authSource=yourDB&w=1')
Run Code Online (Sandbox Code Playgroud)
这项工作对我来说。&w=1很重要
akh*_*ron 12
有很多方法可以让它发挥作用。这对我有用 [猫鼬 v5.9.15]:
mongoose.connect('mongodb://localhost:27017/', {
auth: {
user:'root',
password:'example'
},
authSource:"admin",
useUnifiedTopology: true,
useNewUrlParser: true
}
Run Code Online (Sandbox Code Playgroud)
mongoose.connect("mongodb://[host]/[db]", { auth:{
authdb: "admin",
user: [username],
password: [pw]
}}).then(function(db){
// do whatever you want
mongoose.connection.close() // close db
})
Run Code Online (Sandbox Code Playgroud)
你可能想做这样的事......
var opt = {
user: config.username,
pass: config.password,
auth: {
authdb: 'admin'
}
};
var connection = mongoose.createConnection(config.database.host, 'mydatabase', config.database.port, opt);
Run Code Online (Sandbox Code Playgroud)
'authdb'选项是您在其下创建用户的数据库.
您是否为 dbname 设置了用户?默认情况下,除非您明确设置,否则不需要用户连接到数据库。如果没有,您应该尝试连接mongodb://localhost:27017/dbname并查看是否仍然出现错误。
| 归档时间: |
|
| 查看次数: |
20062 次 |
| 最近记录: |