복붙노트

[MONGODB] 왜 MongoDB의 노드 드라이버 생성 인스턴스 풀 오류를 파괴?

MONGODB

왜 MongoDB의 노드 드라이버 생성 인스턴스 풀 오류를 파괴?

'서버 인스턴스 풀 파괴되었다 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();
});

해결법

  1. ==============================

    1.당신의 삽입이 완료되기 전에) (db.close를 호출하고, 그래서 csv.foreach과 insertOne 호출, (아마도) 모두 비동기입니다.

    당신의 삽입이 완료되기 전에) (db.close를 호출하고, 그래서 csv.foreach과 insertOne 호출, (아마도) 모두 비동기입니다.

    당신은 모든 삽입 '콜백이 호출 될 때까지 () db.close 전화를 기다리는 방법을 마련 할 필요가있다. 어떻게 그렇게하면 CSV 모듈이 작동하지만, 비동기 모듈 같은 것을 사용하는 비동기 흐름 제어 할 수있는 방법에 따라 달라집니다.

  2. ==============================

    2.나는 함께 비동기 NPM과 'db.close을 () 호출 한 후,이 문제가 해결 될 때, 동일한 문제가 있습니다.

    나는 함께 비동기 NPM과 'db.close을 () 호출 한 후,이 문제가 해결 될 때, 동일한 문제가 있습니다.

  3. from https://stackoverflow.com/questions/39029893/why-is-the-mongodb-node-driver-generating-instance-pool-destroyed-errors by cc-by-sa and MIT license