我遇到了使功能正常工作并且已经搜索了2天的问题,并且无法找到这个问题的答案。我认为有些东西我不了解nodejs中的mongoose / mongodb查询。
我有一个增加mongodb文档的函数,所以我可以为我们正在创建的项创建顺序代码。
function getNextUpc(sequenceName){
var query = {"_id": sequenceName};
var update = {$inc:{sequence_value:1}};
var options = {new: true};
Counter.findOneAndUpdate(query, update, options, function(err, counter){
if(err){
console.log(err);
} else {
console.log(counter.sequence_value); // gives updated number
return counter.sequence_value // gives undefined
}
});
};
当我使用getNextUpc('productupc')
调用路径中的函数时,我希望此函数返回新增加的值。目前正在正确递增,我可以在console.log中找到正确的值,但是如果我尝试返回该值,那么它将以未定义的形式出现。
从回调外部返回值也不起作用,所以我知道我不了解这个设置但我一直在研究文档,我似乎无法弄清楚我是什么&#39我做错了。在此先感谢您的帮助,如果有人在哪里阅读,那么我可以更好地了解这里发生了什么,我将非常感激。