大佬教程收集整理的这篇文章主要介绍了node.js – 当一个猫鼬模型新建时,是否有一种自动生成ObjectId的方法?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
例如:
var mongoose = require('mongoose'); var scheR_972_11845@a = mongoose.scheR_972_11845@a; var ObjectIdscheR_972_11845@a = scheR_972_11845@a.objectId; var ObjectId = mongoose.Types.ObjectId; var PersonscheR_972_11845@a = new scheR_972_11845@a({ _id: ObjectIdscheR_972_11845@a,firstName: {type: String,default: 'N/A'},lastName: {type: String,age: {type: number,min: 1} }); var Person = mongoose.model('Person',PersonscheR_972_11845@a);
起初我觉得很棒!我会做的
_id: {type:ObjectIdscheR_972_11845@a,default: new ObjectId()}
但是当然这不起作用,因为只有在初始化模式时才调用新的ObjectId().所以调用新的Persion()两次会创建两个具有相同_id值的对象.
所以有办法做到这一点,每次我做“新的Person()”一个新的ObjectId()生成?
我试图这样做的原因是因为我需要知道新人的_id值的价值以进一步处理.
我也试过:
var person = new Person({firstName: "Joe",lastName: "Baz"}); person.save(function(err,doc,num){ console.log(doc._id); });
即使这样,doc也不包含ObjectId.但是如果我查看数据库,它确实包含它.
附:我正在使用mongoose 2.7.1
p.p.s.我知道我可以在创建人时手动创建ObjectId:
var person = new Person({_id: new ObjectId(),firstName: "Joe",lastName: "Baz"});
但我宁愿不必导入ObjectId,并且每次要新建一个Person时都需要新的.猜测我习惯于为mongodb使用java驱动程序,我可以在Model构造函数中创建_id字段的值.
以上是大佬教程为你收集整理的node.js – 当一个猫鼬模型新建时,是否有一种自动生成ObjectId的方法?全部内容,希望文章能够帮你解决node.js – 当一个猫鼬模型新建时,是否有一种自动生成ObjectId的方法?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。