[英]Error when deploying nodejs server in web api app Azure
getaddrinfo ENOTFOUND
表示mongodb客户端无法连接到给定地址。
您可以尝试在本地检查您的mongodb server
,例如
我在Azure的ubuntu VM上创建了mongodb服务器,如在Windows VM上的Install MongoDB所示,然后利用以下代码段对我来说很好用:
var MongoClient = require('mongodb').MongoClient;
var connectionString = 'mongodb://<server_name>.cloudapp.net:27017/';
MongoClient.connect(connectionString,function(err,db){
if(err){
console.log(err);
res.send(200,{message:'Something went wrong when connecting to db'});
}else{
db.close();
res.send(200,{message:'Connected correctly to db'});
}
})
我在Azure Web Apps上创建了一个简单的测试代码项目,尝试重现此问题,但对我而言它工作正常,我想指出一下我的环境和代码片段以供参考:
我的依赖:
"dependencies": {
"jade": "*",
"express": "~3.1.0",
"mongoose":"*"
},
我的代码片段与MongoLab connectionString的猫鼬:
exports.index = function(req, res){
var mongoose = require('mongoose');
mongoose.connect('mongodb://<dbuser>:<dbpassword>@ds058048.mongolab.com:58048/<dbname>');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function (callback) {
console.log('db open!');
res.send(200,{message:'Connected correctly to db'});
});
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.