從官方mongoosev3.8.7的手冊中看到關(guān)于Schema的_id屬性,發(fā)現(xiàn)這個屬性在new一個模型的時候就已經(jīng)生成了,這個時候根本就沒有和MongoDB通信!我好奇mongoose是如何生成這個_id的值的,它能保證唯一性么?另外,官方提到可以關(guān)閉這個特性,但是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'}})})實際測試發(fā)現(xiàn)根本就不會save成功,會提示:[Error:documentmusthavean_idbeforesaving]請問如何關(guān)閉_id后實現(xiàn)保存?
mongoose中自建的_id是怎么生成的?
炎炎設(shè)計
2019-04-09 20:24:59