postModel.findOne({
"name": name,
}, function(err, doc) {
if(err){
return callback(err);
}
delete doc._id; //删除掉原来的_id, 这里删除掉_id后,其doc._id仍然存在
console.log(doc.id);
// etc.****
})
如上所述,我在找到那个doc后想要删除它的_id
属性,然后更新它自己。继而通过doc的一些属性得到另外一个document
,然后保存。这样后面一个document
就复制了doc的一些属性(通过复制)。问题是
- 使用
delete doc._id
后,其依然存在,这样我得到的document
的_id
和doc的_id
是一样的,形成了覆盖。 - 我在
new Schema({ _id: Schema.Types.ObjectId })
添加了_id
字段后,得到的结果是一样的。 - 如果使用mongodb来操作,这样就没有问题,得到的结果是
undefined
。