Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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/8/meteor/3.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/4/powerbi/2.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
Mongodb Meteor中用于求和和和计数的按函数分组_Mongodb_Meteor_Aggregation Framework - Fatal编程技术网

Mongodb Meteor中用于求和和和计数的按函数分组

Mongodb Meteor中用于求和和和计数的按函数分组,mongodb,meteor,aggregation-framework,Mongodb,Meteor,Aggregation Framework,我正在构建一个简单的应用程序来跟踪我的企业完成的所有购买,我还想跟踪每个月完成的总购买量 { "id": 264, "Name": "Item 1", "Price": US$ 15, "Date": 12 May 2015 }, { "id": 63, "Name": "Item 3", "Price": US$ 12, "Date": 19 May 2015 }, { "id": 16, "Name": "Ite

我正在构建一个简单的应用程序来跟踪我的企业完成的所有购买,我还想跟踪每个月完成的总购买量

{
    "id": 264,
    "Name": "Item 1",
    "Price": US$ 15,
    "Date": 12 May 2015
}, {
    "id": 63,
    "Name": "Item 3",
    "Price": US$ 12,
    "Date": 19 May 2015
}, {
    "id": 16,
    "Name": "Item 1",
    "Price": US$ 22.5,
    "Date": 21 May 2015
}, {
    "id": 4,
    "Name": "Item 2",
    "Price": US$ 27.75,
    "Date": 21 May 2015
}, {
    "id": 4,
    "Name": "Item 2",
    "Price": US$ 27.75,
    "Date": 6 June 2015
},
我需要显示购买的金额 每月

{
    "Month": "May",
    "Total": 77.25
}, {
    "Month": "June",
    "Total": 27.75
}

每当添加新项目时,如果您的数据为以下格式,则应实时更新每个月的总金额:

/* 0 */
{
    "_id" : 264,
    "Name" : "Item 1",
    "Price" : 15,
    "Date" : ISODate("2015-05-12T13:45:39.736+05:30")
}

/* 1 */
{
    "_id" : 63,
    "Name" : "Item 3",
    "Price" : 12,
    "Date" : ISODate("2015-05-19T13:45:39.736+05:30")
}

/* 2 */
{
    "_id" : 16,
    "Name" : "Item 1",
    "Price" : 22.5,
    "Date" : ISODate("2015-05-21T13:45:39.736+05:30")
}

/* 3 */
{
    "_id" : 4,
    "Name" : "Item 2",
    "Price" : 27.75,
    "Date" : ISODate("2015-05-21T13:45:39.736+05:30")
}

/* 4 */
{
    "_id" : 5,
    "Name" : "Item 2",
    "Price" : 27.75,
    "Date" : ISODate("2015-06-06T13:45:39.736+05:30")
}
您可以使用以下聚合函数:

db.collectionName.aggregate(
    { $project : { month : { $month : "$Date" }, price : "$Price"} },
    { $group : { _id : "$month" , "Total" : { $sum : "$price"}}},
    { $project : { Month : "$_id", "Total" : "$Total", "_id" : 0} }
)
输出:

/* 0 */
{
    "result" : [ 
        {
            "Total" : 27.75,
            "Month" : 6
        }, 
        {
            "Total" : 77.25,
            "Month" : 5
        }
    ],
    "ok" : 1
}

稍后将月份索引替换为字符串。

您是否可以向我们展示您解决此问题的任何尝试?您是否可以发布存储在数据库中的真实数据?相关:聚合需要在Meteor上做更多工作。看见