我想使用猫鼬生成一个自动递增的ID,在代码的某个点它会输出预期的结果,但是在函数的最后返回未定义的最终值。
每次执行后我看到数据库时,序列号都会更新,但是我想获得使用它的结果。
这是代码:
var CounterSchema = new Schema({
_id: {type: String, required: true},
seq: { type: Number, default: 0}
});
var counter = mongo.model('counter', CounterSchema);
function incrementId(name) {
counter.findByIdAndUpdate(name, {$inc: { seq: 1} }, {new: true}, function(err, doc){
if(err){
console.log(err);
}else{
console.log(doc.seq + ' <---- Result shown'); //outputs the number
}
});
return counter.seq; //returns undefined
}
console.log(incrementId('increment') + " <------- Result to get");