从节点js更新多个mongoDB集合

时间:2016-10-01 13:50:23

标签: node.js mongodb mongoose

我正在尝试使用mongoose和node.js在mongoDB数据库中更新两个单独的集合。但是在发送标题后我收到错误。 This is the error

用于设置此代码的代码是: Code

第170行是写入customer.update的行

1 个答案:

答案 0 :(得分: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.
});

希望这有帮助。