Подтвердить что ты не робот

Серверные сокеты MongoDB закрыты 'и исправлений не найдено

Вчера я начал использовать javascript MongoDB.

У меня возникла проблема, ошибка постоянно отображается, однако данные все еще хранятся.

Ниже вы можете увидеть javascript, который я использую для первоначального подключения к БД, и затем инициируется запрос на вставку. Когда не запускается запрос на вставку, консоль выводит:

Подключено правильно к серверу

Отключен от сервера успешно

Но при запуске с запросом на вставку возвращается ошибка.

Подключено правильно к серверу

{ [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);
        }
    });
}
4b9b3361

Ответ 1

Не закрывайте соединение db перед получением результатов. Сделайте следующее:

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

Ответ 2

Я нашел решение наконец, проблема была в безопасности файлов на новом сервере и mpmd npm файлах, мне пришлось использовать команду "chown" для владения всеми файлами, а затем запустить   "npm install"