好吧,我等待了足够长的时间,没有答案。最后放弃了整个更新/更新方法,并进行了以下操作:
ContactSchema.findOne({phone: request.phone}, function(err, contact) { if(!err) { if(!contact) { contact = new ContactSchema(); contact.phone = request.phone; } contact.status = request.status; contact.save(function(err) { if(!err) { console.log("contact " + contact.phone + " created at " + contact.createdAt + " updated at " + contact.updatedAt); } else { console.log("Error: could not save contact " + contact.phone); } }); }});它行得通吗?是的 我对此感到满意吗?可能不是。2个DB调用而不是一个。
希望将来的Mongoose实现可以提供一个
Model.upsert功能。



