mongodb插入错误_id

时间:2016-01-12 12:08:44

标签: mongodb insert

我通过以下方式将文档插入到集合调查中:

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",最后一位数字恰好有1个差异如果我在res.redirect之前使用console.log(ObjectId(docs._id)),则id会改变2个值。请解释为什么它会以这种方式运行。

1 个答案:

答案 0 :(得分:0)

docs._id已经是一个ObjectId。当你说ObjectId(docs._id)时,它认为它是无效参数并返回一个新的ObjectId。

如果您正在使用nodejs,那就行了 res.redirect('/投票/ docs._id.toHexString());