我正在尝试将此 nodeJS 服务器部署为 azure 中的 Web API 应用程序,但我似乎无法运行它,在修复了 verious 对象后,我不断收到其他错误并且似乎无法启动并运行此 api。所以请帮帮我。这是我得到的错误:
我正在使用调试控制台检查是否可以部署此节点,这是我不断出错的地方,但我似乎无法启动并运行此 api,请帮助。
getaddrinfo ENOTFOUND
表示 mongodb 客户端无法连接到给定地址。
您可以尝试检查您的mongodb server
本地,EG
我在 Azure 上的 ubuntu VM 上创建了一个 mongodb 服务器,如在 Windows VM 上安装 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'});
});
};
连接字符串显示为MongoLab提及的快速入门指南。