gpt4 book ai didi

node.js - 为什么MongoDB Node Driver生成实例池被破坏错误?

转载 作者:IT老高 更新时间:2023-10-28 11:05:15 26 4
gpt4 key购买 nike

当我运行以下代码时,我收到错误消息“MongoError:服务器实例池被破坏”。知道为什么或如何解决这个问题吗?

var csv = require('./importer.js');
var MongoClient = require('mongodb').MongoClient;
var assert = require('assert');
var ObjectId = require('mongodb').ObjectID;
var url = 'mongodb://.....';


MongoClient.connect(url, function(err, db) {

assert.equal(null, err);
console.log("Connected correctly to server.");

csv.foreach('data/airports.csv', function(airport){
db.collection('airports').insertOne(airport, function(err, result) {
if(err) {
console.log(err)
} else {
console.log("Inserted: " + airport.ident);
}
});
});

db.close();
});

最佳答案

csv.foreachinsertOne 调用(大概)都是异步的,因此您在调用 db.close() 之前插入已完成。

您需要想出一种等待调用 db.close() 的方法,直到调用了所有插入的回调。如何做到这一点取决于你的 csv 模块是如何工作的,但是使用类似 async module 的东西。可以帮助进行异步流控制。

关于node.js - 为什么MongoDB Node Driver生成实例池被破坏错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39029893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com