【发布时间】:2016-11-10 21:33:57
【问题描述】:
其实我想知道在mongoose/mongoDB中使用 findOneAndUpdate() 和 upsert: true 选项后有什么方法可以识别更新的旧记录或添加的新记录?
我正在使用
// partial code
var update = {$set:fieldsToSet};
var options = {new: true, upsert:true};
var created = yield User.findOneAndUpdate(fieldsQuery, update, options).exec();
// here I want to check updated old record or create new record
【问题讨论】:
-
您不能同时使用选项
{new: true, upsert: true},因为原子更新仅返回使用该操作修改的文档;您可能需要单独查询以返回未修改的文档,即var original = yield User.findOne(fieldsQuery).exec(); -
@chridam 我同时使用并工作,但是我的问题是有什么方法可以识别更新的记录或创建新的记录。感谢您的重播
标签: javascript node.js mongodb mongoose