给出一个模式:
var EventSchema = new Schema({ id: { // ... },name: { type: String },});
我想使id独特和自动增量.我试图实现mongodb implementation,但有问题的理解如何在猫头鹰做对.
解决方法
以下是使用Mongoose自动递增字段实现的一个很好的例子:
var CounterSchema = Schema({ _id: {type: String,required: true},seq: { type: Number,default: 0 } }); var counter = mongoose.model('counter',CounterSchema); var entitySchema = mongoose.Schema({ testvalue: {type: String} }); entitySchema.pre('save',function(next) { var doc = this; counter.findByIdAndUpdate({_id: 'entityId'},{$inc: { seq: 1} },function(error,counter) { if(error) return next(error); doc.testvalue = counter.seq; next(); }); });
您应该首先从mongodb documentation执行第1步.