为什么函数返回未定义?

时间:2019-07-18 21:03:57

标签: javascript mongoose

我想使用猫鼬生成一个自动递增的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");

0 个答案:

没有答案