我通过以下方式将文档插入到集合调查中:
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个值。请解释为什么它会以这种方式运行。
答案 0 :(得分:0)
docs._id已经是一个ObjectId。当你说ObjectId(docs._id)时,它认为它是无效参数并返回一个新的ObjectId。
如果您正在使用nodejs,那就行了 res.redirect('/投票/ docs._id.toHexString());