mongodb 插入给出了错误的_id

mongodb insert gives wrong _id

我通过以下方式将文档插入到收集投票中:

poll.insert({
            'title':title,
            'options':options,
            'votedBy':{},
            'createdBy':theUser,
            'date':date
        },function(err,docs){
            res.redirect('/poll/'+ObjectId(docs._id));
        });

从res.redirect中,_id是“5694e3471baae48402d26196”,然后当我看到插入文档的_id时,它是“5694e3471baae48402d26195”,正好和最后一个digit.If相差1 console.log(ObjectId(docs._id)) 在 res.redirect 之前,id 变化了 2 values.Please 解释为什么会这样。

docs._id 已经是一个 ObjectId。当你说 ObjectId(docs._id) 它认为这是无效参数并且 returns 一个新的 ObjectId.

如果你使用的是nodejs,就这样做 res.redirect('/poll/docs._id.toHexString());