2016-10-01 2 views
0

Я пытаюсь обновить две отдельные коллекции в базе данных mongoDB, используя mongoose и node.js. Но я получаю ошибку для настройки заголовков после их отправки. This is the errorОбновление нескольких коллекций mongoDB от узла js

Код, который используется для установки этого вверх является: Code

линия 170 является линией, где customer.update написано

ответ

2

Вы пытаетесь отправить ответ в два раза после того, как клиент и администратор обновление коллекции. Вот почему вы получили эту ошибку.

Чтобы решить эту проблему. Использовать асинхронную библиотеку http://caolan.github.io/async/docs.html#.parallel

Или пользовательские функции с обратными вызовами и отправлять только заголовки, когда все коллекции обновлены.

здесь пример

async.parallel([ 
    adminName: function(callback) { 
     admin.update({yourUpdateCode}, function(err, AdminDoc){ 
     //you may want to add error handling here 
     callback(null, AdminDoc); 
     }); 
    }, 
    customerName: function(callback) { 
     customer.update({yourUpdateCode}, function(err,doc){ 
     //you may want to add error handling here 
     callback(null, CustDoc); 
     }); 
    }], 
function(err, results) { 
    // results is now equals to: {adminName: AdminDoc, customerName: CustDoc} 
    //your final callback here. 
}); 

Надеется, что это помогает.

+0

Нужно ли устанавливать какой-либо конкретный пакет npm для этого? –

+0

Ну .. Вы можете использовать async lib, чтобы дать вам ссылку на DOCS. Вы можете использовать обещания, если хотите. Вы также можете создавать методы, которые будут обновлять каждую коллекцию и возвращать конечный результат в основную функцию. Об ASYNC. Да, вам нужно установить его с помощью npm. –

+0

ok. Что такое collName, относящееся к вашему внутреннему фрагменту? –

Смежные вопросы