mongoose findOneAndUpdate查询从函数返回undefined

时间:2018-06-14 20:36:01

标签: javascript node.js mongodb express mongoose

我遇到了使功能正常工作并且已经搜索了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我做错了。在此先感谢您的帮助,如果有人在哪里阅读,那么我可以更好地了解这里发生了什么,我将非常感激。

0 个答案:

没有答案