Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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
Javascript 请求MongoDB、数据聚合和进一步向MongoDB写入数据_Javascript_Node.js_Mongodb - Fatal编程技术网

Javascript 请求MongoDB、数据聚合和进一步向MongoDB写入数据

Javascript 请求MongoDB、数据聚合和进一步向MongoDB写入数据,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我试图从MongoDB集合中读取数据,使用Node.js对其进行聚合,然后根据从聚合字段获得的数据写入新集合 该代码使用正确的输入工作并创建新的168个集合(每个工作日和小时) 但是,终端返回以下错误语句 (节点:15124)未处理的PromisejectionWarning:未处理的承诺拒绝。此错误源于在没有catch块的异步函数中抛出,或者拒绝未使用.catch()处理的承诺 有人知道代码出了什么问题吗 MongoClient.connect(url, async function (e

我试图从MongoDB集合中读取数据,使用Node.js对其进行聚合,然后根据从聚合字段获得的数据写入新集合

该代码使用正确的输入工作并创建新的168个集合(每个工作日和小时)

但是,终端返回以下错误语句

  • (节点:15124)未处理的PromisejectionWarning:未处理的承诺拒绝。此错误源于在没有catch块的异步函数中抛出,或者拒绝未使用.catch()处理的承诺
有人知道代码出了什么问题吗

MongoClient.connect(url, async function (err, db) {

if (err) throw err;

var dbo = db.db("pspDB");
dbo.collection("Collection1").aggregate(
    [{ $match: { status: "SETTLED" } },

    {
        $project:
        {
            TimeStart: "$creationDate",
            startMonth: { $month: "$creationDate" },
            startDay: { $dayOfMonth: "$creationDate" },
            startHour: { $hour: "$creationDate" },
            startDayOfWeek: { $dayOfWeek: "$creationDate" },
            startWeek: { $week: "$creationDate" },
            price: "$price"
        }
    },

    {
        $lookup: {
            from: "Collection2",
            localField: "TimeStart",
            foreignField: "TimeStart",
            as: "weekAndHour"
        }
    },


    {
        $unwind: "$weekAndHour"
    },

    {
        $unwind: "$weekAndHour.Utilization"
    },

    {
        $project:
        {   
            TimeStart: 1,
            startMonth: 1,
            startDay: 1,
            startHour: 1,
            startDayOfWeek: 1,
            startWeek: 1,
            price: 1,
            utilisation: "$weekAndHour.Utilization"
        }
    }



    ]).toArray(async function (err, result) {

        if (err) throw err;

        // Creating collections for all weekdays and hours (168 in total) for aggregation purposes

        for (var mk = 0; mk <= 7; mk++) { 

            for (var ik = 0; ik < 24; ik++) {

                var picked = lodash.filter(result, { 'startHour': ik, 'startDayOfWeek': mk })

                console.log(picked)

                var name = "WEEKDAY" + mk + "H" + ik
                console.log(name)


                dbo.collection(name).insertMany(picked)


            }
        }


    })


   })
MongoClient.connect(url,异步函数(err,db){
如果(错误)抛出错误;
var dbo=db.db(“pspDB”);
dbo.集合(“集合1”).集合(
[{$match:{状态:“已结算”},
{
$项目:
{
TimeStart:“$creationDate”,
开始月份:{$month:$creationDate},
开始日期:{$dayOfMonth:$creationDate},
开始:{$hour:$creationDate},
startDayOfWeek:{$dayOfWeek:$creationDate},
startWeek:{$week:$creationDate},
价格:“$price”
}
},
{
$lookup:{
来自:“收藏2”,
localField:“TimeStart”,
foreignField:“TimeStart”,
as:“周末小时”
}
},
{
$REWIND:$WEEKANDHOURE
},
{
$unwind:“$weekAndHour.Utilization”
},
{
$项目:
{   
时间起点:1,
一月一日,
开始日期:1,,
星空:1,
星期一开始:1,
startWeek:1,
价格:1,,
利用率:$weakandhour.利用率
}
}
]).toArray(异步函数(错误、结果){
如果(错误)抛出错误;
//为所有工作日和小时(总共168小时)创建集合以进行聚合
对于(var mk=0;mk