2016-06-16 16 views
0

ExpressとMongooseでドキュメントを更新すると、_id値を削除してドキュメントを保存するのがベストプラクティスですか?ここで私が使用しているコードの例です。_idプロパティを削除しなくてもExpressとMongooseでドキュメントを更新する方法はありますか?

exports.update = function(req, res, next) { 
    var data = _.extend(app.locals.crewListing, req.body); 
    data = data.toObject(); 
    delete data._id; 
    app.locals.crewListing.save(function(err, result) { 
     if (err) return next(err); 
     res.json({ 
      message: null, 
      data: result 
     }); 
    }); 
}; 
+1

なぜ 'data'から' _id'プロパティを削除していますか? – JohnnyHK

答えて

0

私はそうは思わない。更新中に_idプロパティが変更されていないことを確認する必要があります。最良の方法は、

if(data._id) { 
    delete data._id; 
} 

である。しかし、あなたが更新しているフィールドか知っているので、私は、個々のオブジェクトの各フィールドを更新する代わりに.extend()機能を使用して好むだろう。

関連する問題