Mongoose findOneAndUpdate upsert不会创建新的_id

时间:2018-01-09 21:23:14

标签: node.js mongodb mongoose

我正在尝试使用findOneAndUpdate来更新或创建新文档。问题是,如果它创建一个新文档,它不会为它生成任何id(或Mongo没有),当然,这是不合适的。我做错了什么?

SomeModel.findOneAndUpdate({_id: req.body.id, user: req.body.user}, req.body, {new: true, upsert: true}, function(err, updatedObject){
            if (err || !updatedObject){
                return res.json({result: false});
            }
            return res.json({result: true, id: updatedObject._id});//<--null
        });

它会创建一个新文档,但其_id设置为null。

NB这不是像这里的单一方法(Mongoose findOneAndUpdate Upsert _id null?)我只是想在创建新文档时不要为空。

0 个答案:

没有答案