从官方mongoosev3.8.7的手册中看到关于Schema的_id属性,发现这个属性在new一个模型的时候就已经生成了,这个时候根本就没有和MongoDB通信!我好奇mongoose是如何生成这个_id的值的,它能保证唯一性么?另外,官方提到可以关闭这个特性,但是varschema=newSchema({name:String},{_id:false});varPage=mongoose.model('Page',schema);varp=newPage({name:'mongodb.org'});console.log(p);//{name:'mongodb.org'}//MongoDBwillcreatethe_idwheninsertedp.save(function(err){if(err)returnhandleError(err);Page.findById(p,function(err,doc){if(err)returnhandleError(err);console.log(doc);//{name:'mongodb.org',_id:'50341373e894ad16347efe12'}})})实际测试发现根本就不会save成功,会提示:[Error:documentmusthavean_idbeforesaving]请问如何关闭_id后实现保存?
添加回答
举报
0/150
提交
取消