Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js NodeJS Promise.all用于数据库请求_Node.js_Mongodb_Promise - Fatal编程技术网

Node.js NodeJS Promise.all用于数据库请求

Node.js NodeJS Promise.all用于数据库请求,node.js,mongodb,promise,Node.js,Mongodb,Promise,如何向数据库发出多个请求,等待所有请求的结果并返回结果? 我试着承诺。所有,但所有我得到-[未定义]在控制台 MongoClient.connect(url, function (err, db) { if (err) throw err; var dbo = db.db("DBusers"); var query = {}; var U4 = dbo.collection("users"); const promises = [ U4

如何向数据库发出多个请求,等待所有请求的结果并返回结果? 我试着承诺。所有,但所有我得到-[未定义]在控制台

MongoClient.connect(url, function (err, db) {
    if (err) throw err;
    var dbo = db.db("DBusers");
    var query = {};
    var U4 = dbo.collection("users");  
    const promises = [
        U4.find({}).count(function (err, result) { return result; }),
        U4.find({}).count(function (err, result) { return result; })
    ];

    Promise.all(promises).then(function (results) {
        console.log(results);
    }).catch(function (err) {
        console.log(err);
    });

    db.close();


});

我想我找到了答案, 我不得不改成:

const promises = [
            U4.find({}).count(),
            U4.find({}).count()
];

我想我找到了答案, 我不得不改成:

const promises = [
            U4.find({}).count(),
            U4.find({}).count()
];

您可以使用回调函数
Promise.all
array。这是使用“承诺”的正确方法。所有的:

const promises = [
    U4.find({}).count(),
    U4.find({}).count()
];

默认情况下,它返回一个promise,并且您必须通过promise数组才能
promise.all

您可以使用回调函数来
promise.all
数组。这是使用“承诺”的正确方法。所有的:

const promises = [
    U4.find({}).count(),
    U4.find({}).count()
];

默认情况下,它返回一个promise,并且您必须通过promise数组才能
promise。all

您可以使用以下代码向数据库发出多个请求(当您在promises中定义它们时)。当所有请求完成后,您可以返回它们,或者发送到前端。例如,您可以使用以下代码向数据库发出多个请求(当您在promises中定义它们时)。当所有请求完成后,您可以返回它们,或者发送到前端。这是否回答了您的问题?这回答了你的问题吗?