草庐IT

projectNo

全部标签

Mongodb 聚合框架 : Sum values for max date in month

我每周从服务中接收数据并将其放入集合中。数据有数量、projectNo和dataDate时间戳。使用聚合框架,我按projectNo和dataDate对数量和分组进行求和:db.collection.aggregate([{$project:{projectNo:1,bdgtAppd:1,dataDate:1}},{$group:{_id:{projectNo:"$projectNo",dataDate:"$dataDate"},amount:{$sum:"$bdgtAppd"}}},{$project:{_id:0,projectNo:"$_id.projectNo",dataDat

node.js - 可选 $match 管道运算符的 Mongodb 聚合追加方法

我在mongodb2.6中使用nodejs+mongoosejs。我在模型上有一个静态函数,该函数对集合中所有项目的值求和。每个项目都使用projectNo属性分配给一个项目。我需要静态函数能够为我提供集合的总数,如果传递了projectNo参数,则将$match管道运算符添加到聚合中。这将使我不必制作2个本质上做同样事情的静态函数。为了让事情更有趣一点,我使用bluebirdpromisifyAll方法让聚合框架返回一个promise。我对整个集合求和的静态函数:db.collection.aggregateAsync([{$group:{_id:null,金额:{$sum:"$am