使用findByIdAndUpdate并手动执行是否有任何缺点。我注意到findByIdAndUpdate丢弃了我的mongo连接,并且读到你应该尝试保持连接打开,只有当你关闭应用程序时关闭。是这种情况,如果是这样,是否有一个配置设置,我没有看到findByIdAndUpdate,保持连接?
updateItemById: function(id, updateObj, options, callback){
//OPTION 1
Badge.findById(id, null , function(err, doc){
doc.update(updateObj, function(err, numberAffected, raw){
if (err) return handleError(err);
Badge.findById(id, null , function(err, doc){
callback(doc);
});
});
});
//OPTION 2
Badge.findByIdAndUpdate(id, updateObj, options, function(err, data){
callback(doc);
});
}
答案 0 :(得分:1)
findByIdAndUpdate
应该更快(只要正确编程了驱动程序和猫鼬),因为:
使用选项1:
使用选项2:
如您所见,第二个选项确实需要更少的步骤,因此应该更快。
奖励:代码更具可读性。