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

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

下面可以看到我最初连接到数据库时使用的javascript,然后启动一个插入查询.

已正确连接到服务器

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

但在运行insert查询时,会返回一个错误.

已正确连接到服务器

{ [MongoError: server localhost:27017 sockets closed] name:"MongoError",

message: 'server localhost:27017 sockets closed'}

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

谁能给我指出正确的方向吗?

MongoClient.connect(db_default.db_url, function(err, db) {
    console.log('已正确连接到服务器');
    if(err) {
        console.log(err);
    }
    else {
         mongoInsert(db, 'user', user_default, function(user_res) { 
            console.log(user_res);
        });
    }
    db.close();
    console.log('已成功断开与服务器的连接');
});

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);
        }
    });
}

推荐答案

在收到结果之前不要关闭数据库连接.按以下步骤进行:

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);
        }
    });
}

Mongodb相关问答推荐

如何在MongoDB中正确解析佛年?

将消息流式传输到WebSocket

使用MongoDB 4将根文档替换为数组

在服务器上部署后端时判断??=默认判断

Kotlin 使用初级构造实例化公开类

管道聚合mongodb同一$project阶段的计算字段?

使用 Node.js 通过 SSL 连接到 MongoDB

哪个库最适合用于带有 Scala 的 MongoDB?

如何使用sailsjs v0.10连接mongodb?

mongod 和 mongo 命令在 Windows 10 上不起作用

使用 nodejs/mongoose 部分更新子文档

如何在 Ruby on Rails 环境中使用 Mongoid 进行通配符搜索?

如何在 Node.js 中格式化 Mongoose 的日期?

NoSQL:MongoDB 或 BigTable 并不总是 Available意味着什么

MongoDB - 我如何找到另一个集合中的文档未引用的所有文档

如何使用 MongoDB C# 驱动程序有条件地组合过滤器?

MongoDB 和 Robomongo: Can't connect (authentication)

MongoTemplate upsert - 从 pojo 进行更新的简单方法(哪个用户已编辑)?

python + pymongo:如何从 for 循环中在 mongo 中的现有文档上插入新字段

在 mongodb 集合中查找最旧/最新的帖子