MongoDB中的平均聚合不起作用

时间:2020-07-17 13:44:27

标签: javascript node.js mongodb

我正在尝试创建一个脚本,该脚本将计算MongoDB集合中每个资产的最近200天的平均Volume。(超过100个集合)(每个资产都有一个特定的集合)< / p>

聚合框架代码

const saveToDatebase = async(symbol, BTCdata) => {
try {
    const url = 'mongodb://username:password@ipadress/port?retryWrites=true&w=majority';
    let dateTime = getDateTime();
    let db = await MongoClient.connect(url, { useUnifiedTopology: true });
    const dbo = db.db('Crypto');
    const myobj = Object.assign({ Name: symbol, Date: dateTime }, BTCdata[0]);
    await dbo.collection(symbol).insertOne(myobj);
    const average = await dbo.collection(symbol).aggregate([{
            '$match': {
                'date': { '$gte': new Date((new Date().getTime() - (200 * 24 * 60 * 60 * 1000))) }
            },
        },
        {
            '$group': {
                _id: null,
                'Volume': { '$avg': "$Volume" }
            },
        }
    ]).toArray();
    console.log('1 document inserted');
    console.log(average);
    db.close();
} catch (e) {
    console.error(e)
}
};

正如您在这里看到的那样,我正在尝试建立一个阶段,以首先获取最近200天的文档,然后计算它们的平均值。 但是当我使用NodeJS运行脚本时。 我没有在终端中看到任何响应,但是推测出这行的任何原因-console.log(average)

我只是弄错了我做错了什么,因为我在终端中看不到任何响应,甚至没有错误。

最终目标:计算数据库中过去200天中每项资产的平均Volume

0 个答案:

没有答案