我有一个问题,我的socketIO应用程序(用nodeJS制作)与我的mongoDB连接.我尝试连接远程服务器,但它会引发我的错误
这是我的代码(mongoDB中没有设置用户/密码):
var url = "mongodb://192.168.1.5:27017/DB"
MongoClient.connect(url, function(err, db) {
console.log("test")
if (!err) {
console.log("test");
}
else {
console.dir(err)
throw err
}
// db.close();
});
Run Code Online (Sandbox Code Playgroud)
这是当我启动服务器并尝试在导航器中启动应用程序时:服务器在端口80上侦听:
{ [MongoError: connect ECONNREFUSED] name: 'MongoError', message: 'connect ECONNREFUSED' }
/root/fys-realtime/examples/chat/node_modules/mongodb/lib/server.js:228
process.nextTick(function() { throw err; })
^
Error
at Error.MongoError (/root/fys-realtime/examples/chat/node_modules/mongodb/node_modules/mongodb-core/lib/error.js:13:17)
at Server.destroy (/root/fys-realtime/examples/chat/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:629:47)
at Server.close (/root/fys-realtime/examples/chat/node_modules/mongodb/lib/server.js:344:17)
at Db.close (/root/fys-realtime/examples/chat/node_modules/mongodb/lib/db.js:267:19)
at /root/fys-realtime/examples/chat/node_modules/mongodb/lib/db.js:196:12
at null.<anonymous> (/root/fys-realtime/examples/chat/node_modules/mongodb/lib/server.js:226:9)
at g (events.js:180:16)
at emit (events.js:98:17)
at null.<anonymous> (/root/fys-realtime/examples/chat/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:238:68)
at g (events.js:180:16)
Run Code Online (Sandbox Code Playgroud) 背景资料
我正在玩我的第一个试图连接到远程mongodb的nodejs测试应用程序.
问题:
连接失败,并显示以下消息:
admin@testdev:~/Documents/nodejs_tests$ sudo nodejs index.js
Server has started.
Request for / received
About to route a request for: /
inside db connect method
Request for /favicon.ico received
About to route a request for: /favicon.ico
inside db connect method
MongoError: connect ECONNREFUSED
null
MongoError: connect ECONNREFUSED
null
Run Code Online (Sandbox Code Playgroud)
这是连接的逻辑:
function connect_nimble() {
console.log("inside db connect method");
MongoClient.connect("mongodb://10.1.1.1:27017/test", function(err,db) {
console.log(err);
console.log(db);
if(!err) {
console.log("booya! Connected to mongo");
return true;
}
});
}
Run Code Online (Sandbox Code Playgroud)
到目前为止我检查了什么:
我确保数据库服务器正在使用端口27017.这是我在重启数据库时在mongodb日志中看到的内容:
admin@mongotest:~$ tail -f /var/log/mongodb/mongod.log
2015-07-21T09:52:41.452-0500 …Run Code Online (Sandbox Code Playgroud)我有那个代码:
var express = require('express'),
stylus = require('stylus'),
logger = require('morgan'),
bodyParser = require('body-parser'),
mongoose = require('mongoose');
var env = process.env.NODE_ENV = process.env.NODE_ENV || 'development';
var app = express();
function compile(str, path){
return stylus(str).set('filename', path);
}
app.set('views', __dirname + '/server/views');
app.set('view engine', 'jade');
app.use(logger('dev'));
app.use(bodyParser.urlencoded({ extended: true }));
app.use(stylus.middleware(
{
src: __dirname + '/public',
compile: compile
}
));
app.use(express.static(__dirname + '/public'));
mongoose.connect('mongodb://localhost/multivision');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error..'));
db.once('open', function callback(){
console.log('multivision db opened');
});
app.get('/partials/:partialPath', function(req, res){ …Run Code Online (Sandbox Code Playgroud) 您好,我整整两天都在试图解决这个错误,谷歌搜索,阅读这里的相关论坛,但似乎我无法解决这个错误以使我的代码完全发挥作用。我将不胜感激任何帮助
\n第一位代表错误的描述,后面的位是代码。再次预先感谢您。
\n[nodemon] restarting due to changes...\n[nodemon] starting `node app.js`\nC:\\Users\\\xeb\xa5\x98 \xea\xb4\x91\xec\x84\xad\\Desktop\\00-starting-project\\node_modules\\mongodb\\lib\\sdam\\topology.js:291\n const timeoutError = new error_1.MongoServerSelectionError(`Server selection timed out after ${serverSelectionTimeoutMS} ms`, this.description);\n ^\n\nMongoServerSelectionError: connect ECONNREFUSED ::1:27017\n at Timeout._onTimeout (C:\\Users\\\xeb\xa5\x98 \xea\xb4\x91\xec\x84\xad\\Desktop\\00-starting-project\\node_modules\\mongodb\\lib\\sdam\\topology.js:291:38)\n at listOnTimeout (node:internal/timers:564:17)\n at process.processTimers (node:internal/timers:507:7) {\n reason: TopologyDescription {\n type: 'Unknown',\n servers: Map(1) {\n 'localhost:27017' => ServerDescription {\n address: 'localhost:27017',\n type: 'Unknown',\n hosts: [],\n passives: [],\n arbiters: [],\n tags: {},\n minWireVersion: 0,\n maxWireVersion: 0,\n roundTripTime: -1,\n lastUpdateTime: 50395518,\n lastWriteDate: 0,\n error: MongoNetworkError: connect ECONNREFUSED ::1:27017\n at …Run Code Online (Sandbox Code Playgroud)