猫鼬在具有不同值的同一查询上插入和更新

时间:2019-04-03 14:39:48

标签: node.js mongodb mongoose

我想在NodeJS中编写一个猫鼬查询,这将更新DB中的文档(如果存在于DB中),否则将以不同的值插入DB(如果不存在于DB中)。例如,当我插入要设置userStatus字段为“新”的数据,如果数据存在时想要将userStatus字段设置为“旧”,我有一个用户集合

UserModel.updateOne({_id: req.params.id},
                {$set: {  status: "old" }, $setOnInsert:{ status: "new" }},
                {upsert: true})

但是它给出错误消息errmsg:'更新路径\'status \'会在\'status \'处产生冲突,这是不可能在单个查询中完成的

0 个答案:

没有答案