![](/img/trans.png)
[英]MongoDB can be connected with MongoClient but not mongoose
[英]mongoose not connected to mongodb server
Mongoose未連接到MongoDB服務器
確保密碼和用戶名正確
const mongoose = require('mongoose')
mongoose.Promise = global.Promise
const uri ="mongodb+srv://halbr:password@cluster0-t2noa.mongodb.net/test?retryWrites=true&w=majority"
mongoose.connect(uri).then(
() => {
console.log('Connect to Mongo');
},
err => {
console.log("Error connecting to Mongo:")
console.log(err);
}
);
module.exports = mongoose.connection
您可以嘗試以下示例:
const mongoose = require('mongoose')
mongoose.Promise = global.Promise
async function myDbConnection() {
const url = 'mongodb+srv://halbr:password@cluster0-t2noa.mongodb.net/test?retryWrites=true&w=majority';
try {
let connectionPromise = await mongoose.connect(url, { useNewUrlParser: true });
if (mongoose.connection) {
console.log('Connected Successfully')
global.connectionPromise = connectionPromise;
} else { global.connectionPromise = null;
console.log('not connected to DB') }
return connectionPromise;
} catch (error) {
console.log('Error connecting to DB ::', error);
}
}
module.exports = myDbConnection();
請確認您在IP白名單中添加了公共IP,為了進行測試,您可以添加通配符。 0.0.0.0/0
,如果可以,您可以嘗試通過命令行連接到db,但它不起作用。我建議添加具有root角色的新用戶,然后再次檢查連接。
use admin
db.createUser(
{
user: "admin",
pwd: "password",
roles: [ { role: "root", db: "admin" } ]
}
);
exit;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.