使用findOneAndUpdate和upsert

时间:2019-06-23 00:49:14

标签: mongodb mongoose upsert

我的用例:

=>更新:如果我发现特定的电子邮件(有效),请设置当前日期

=> INSERT:如果找不到在请求中传递的电子邮件(无效),则日期为null的特定电子邮件

我认为如果找不到特定的电子邮件,应该插入upsert,但是由于某种原因,找不到。

JSON结构

    "listener": [
        {
            "email": "email",
            "date": "2019-06-23T00:22:52.190Z"
        }
    ],

路线

exports.add_listener = function (req, res) {
    Playlist.findOneAndUpdate(
        {"platform.strauss": req.body.url},
        {$set: {"listener.$[elem].date": new Date()}},
        {
            arrayFilters: [{"elem.email": req.body.email}],
            upsert:true,
            new:true,
        }, function (err, data) {
            err ? console.error(err) : res.status(200).send(data);
        }
    )
};

0 个答案:

没有答案