node.js - 如何等待mongodb获取值然后通过函数返回它

标签 node.js mongodb asynchronous

我想要一个函数来返回“用户”集合中的内容。但由于异步性质,函数返回未定义。我怎样才能等到 mongodb 给变量赋值

function a(){
    var m;
    MongoClient.connect(URL).then( db => {
        db.db('mydb').collection('user')
        .find({}).toArray().then(result => {
            m=result;
            // return m wont help here
        }).catch(log);
    }).catch(log);
    return m;
}
console.log(m);

最佳答案

function b(m) {
    console.log(m);
}

function a() {
    MongoClient.connect(URL).then(db => {
        db.db('mydb').collection('user')
            .find({}).toArray().then(result => {

                b(result);

            }).catch(log);

    }).catch(log);

}

关于node.js - 如何等待mongodb获取值然后通过函数返回它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50088990/

相关文章:

javascript - NodeJS 在函数完成之前响应

javascript - res.should.have.status 给我错误

node.js - Mongoose 默认带 findOneAndUpdate

mongodb - 了解 BSON : what is a "function" (\x01) and what possible user defined subtypes are there? 中的二进制子类型

c# - 等待 Parallel.ForEach

javascript - 获取和javascript?就像 php 的 if $_GET[foo]

node.js - Node 服务器在超过 1000 个项目的对象上崩溃

javascript - 如何使 Node.js MongoDB 遵循对象引用?

javascript - 在迭代具有内部异步代码的对象循环的对象时,如何正确跟踪变量?

javascript - 从 chrome.storage 顺序检索多个项目