错误:连接已关闭 - MongoDB节点

时间:2014-04-17 08:13:09

标签: node.js mongodb

好的,所以我是一个完整的Node / MongoDB新手,我现在正在学习本教程:http://mongodb.github.io/node-mongodb-native/api-articles/nodekoarticle1.html

这是我所拥有的代码

    var MongoClient = require('mongoDB').MongoClient;

    MongoClient.connect("mongodb://localhost:8888/exampleDb", function(err, db){
        if( !err ){
             console.log("We are connected");
        } else console.log(err);
    });

但是,当我运行节点/node/index.js我的控制台日志时:

    [Error: connection closed]

我已经尝试禁用我的防火墙并添加自动重新连接:true,两者都不起作用。我似乎无法在网上找到问题,可能出现什么问题?

编辑:这就是我设置服务器的方式

    var server = require("./server");
    var router = require("./router");

    // in router.js
    function route(handle, pathname, response){
        console.log("About to route a request for "+pathname);
        if( typeof handle[pathname] === "function"){
            handle[pathname](response);
        } else {
            console.log("404");
            response.writeHead(404, {"Content-Type":"text/plain"});
            response.write("404 not found");
            response.end();
        }
    }

    exports.route = route;

    // in server.js
    var http = require("http");
    var url = require("url");

    function start(route, handle){
        function onRequest(request, response){
            var pathname = url.parse(request.url).pathname;
            route(handle, pathname, response);
        }

        http.createServer(onRequest).listen(8888);
    }
    exports.start = start;

    server.start(router.route, handle);

2 个答案:

答案 0 :(得分:0)

好的,你的错误很简单。默认情况下,mongoDB在端口27017上运行,在您的代码中,您尝试在8888端口上的mongod实例上进行连接。此端口用于节点项目,而不是MongoDB。

首先,您应该启动mongod实例。如果你在Ubuntu,你可以从这开始:

sudo service mongodb start

如果你在另一个平台上,并且mongodb路径在你的PATH环境中,你可以使用这个命令启动它:

mongod

通过以下方式更改连接uri:

var MongoClient = require('mongoDB').MongoClient;

MongoClient.connect("mongodb://localhost:27017/exampleDb", function(err, db){
    if( !err ){
         console.log("We are connected");
    } else console.log(err);
});

答案 1 :(得分:-1)

Woops误报,我还没有启动mongod.exe。因此,对于遇到此错误并搜索Web的任何人:确保已安装mongodb并在installation / bin目录中运行mongod.exe可执行文件