Mongoose findOneAndUpdate upsert 不会创建新的 _id

mim*_*mic 5 mongoose mongodb node.js

我正在尝试使用 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
        });
Run Code Online (Sandbox Code Playgroud)

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

注意,这不是像这里这样的单一方法(Mongoose findOneAndUpdate Upsert _id null?)我只是希望在创建新文档时它不为空。