2016-01-03 20 views
0

我想基於狀態更新記錄:findOneAndUpdate與條件

Product.findOneAndUpdate({ 
     number: fields.number[0] 
    }, { 
     category: fields.category[0], 
     name: fields.name[0] 
    }, 
    function(err, product) { 


    }); 

所以,我要檢查,如果fields.category存在,則更新否則不更新原有的價值。

fields.category ? fields.category[0] : "" 

什麼是正確的做法呢?

回答

1

小的搜索後,發現我需要使用findOne方法和更新基於財產

Product.findOne({number: fields.number[0]}, function (err, product) { 
    product.category = fields.category ? fields.category[0] : product.category; 
    product.name = fields.name[0]; 

    product.save(function (err) { 
     if(err) { 
      console.error('ERROR!'); 
     } 
    }); 
});