使用$ set更新doc如果存在,则使用Mongoose插入整个NEW doc

时间:2017-02-13 15:38:12

标签: mongoose

我正在尝试使用mongoose中的$ set更新文档,但只希望它在文档存在时使用该集。否则,我希望它能够创建一个新文档。问题是我需要添加整个文档,而不仅仅是$ set中提到的字段。在使用mongoose的一个查询中这是可能的吗?

1 个答案:

答案 0 :(得分:0)

您可以使用findOneAndUpdate upsert:true选项:

来执行此操作
    MyModel.findOneAndUpdate(query, {$set: {.....}}, { upsert:true }, function(err, doc){
    if (err){
        return res.send(500, { error: err })
    };
    return res.send("succesfully saved");
});