MongoDB'服务器套接字已关闭'并且未找到修复程序

Luk*_*ett 26 mongodb mongodb-query

昨天我开始使用javascript MongoDB驱动程序.

我遇到了一个问题,一个错误持续显示,但是,数据仍然存储.

下面你可以看到我用来初始连接到数据库的javascript,然后启动插入查询.当不启动插入查询时,控制台输出:

正确连接到服务器

已成功断开与服务器的连接

但是当使用insert查询运行时,会返回错误.

正确连接到服务器

{ [MongoError: server localhost:27017 sockets closed] 名称:'MongoError',

message: 'server localhost:27017 sockets closed'}

已成功断开与服务器的连接

任何人都能指出我正确的方向吗?

MongoClient.connect(db_default.db_url, function(err, db) {
    console.log('Connected correctly to server');
    if(err) {
        console.log(err);
    }
    else {
         mongoInsert(db, 'user', user_default, function(user_res) { 
            console.log(user_res);
        });
    }
    db.close();
    console.log('Disconnected from server successfully');
});

function mongoInsert(db, collection_name, data,cb) {
    var collection = db.collection(collection_name);
    collection.insert(data, function(err, res) {
        if(err) {
            console.log(err);
        }
        else {
            console.log('Inserted into the ' + collection_name + ' collection');
            cb(res);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

evg*_*mon 49

在接收结果之前,请勿关闭数据库连接.做如下:

MongoClient.connect(db_default.db_url, function(err, db) {
    if(err) {
        console.log(err);
    }
    else {
         mongoInsert(db, 'user', user_default, function(user_res) { 
            console.log(user_res);
            db.close();
        });
    }

    console.log('Disconnected from server successfully');
});

function mongoInsert(db, collection_name, data,cb) {
    var collection = db.collection(collection_name);
    collection.insert(data, function(err, res) {
        if(err) {
            console.log(err);
        }
        else {
            console.log('Inserted into the ' + collection_name + ' collection');
            cb(res);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

  • 差不多一年前被问过,我没有给你一个大绿蜱.感谢您对未来的帮助! (8认同)