Mongodb 求和mongdb中基于regex匹配的字段对象的值

Mongodb 求和mongdb中基于regex匹配的字段对象的值,mongodb,aggregation-framework,Mongodb,Aggregation Framework,在Mongiodb中,我有这样一个对象: { "Brand" : "YY1", "Parent Company" : "XXX", "Week Ending 02-12-14" : 339.154407659, "Week Ending 01-19-14" : 458.614275287, } { "Brand" : "YY2", "Parent Company" : "XXX", "Week Ending 01-12-14" : 339.

在Mongiodb中,我有这样一个对象:

{
    "Brand" : "YY1",
    "Parent Company" : "XXX",
    "Week Ending 02-12-14" : 339.154407659,
    "Week Ending 01-19-14" : 458.614275287,
}
{
    "Brand" : "YY2",
    "Parent Company" : "XXX",
    "Week Ending 01-12-14" : 339.154407659,
    "Week Ending 03-19-14" : 458.614275287,
}
{
    "Brand" : "YY1",
    "Parent Company" : "XXX",
    "Week Ending 01-12-14" : 339.154407659,
    "Week Ending 04-19-14" : 458.614275287,
}
{
    "Brand" : "YY2",
    "Parent Company" : "XXX",
    "Week Ending 01-12-14" : 339.154407659,
    "Week Ending 01-20-14" : 458.614275287,
    "Week Ending 04-19-14" : 458.614275287,
}
我试过了。我想查询一下,该字段必须以周结束开始,必须是的和,并且母公司为“XXX”:

B但是如果字段定义为01-12-14结束的一周,我可以对其求和,但我想对以结束的一周开始的字段求和

在我的收藏中,将有一个对象可能包含或不包含周末。 但是如果品牌对象不包含周末,pos值将为0.0

我的预期结果是这样的

[{
    "parent":"XXX"
    "Brand" : "YY1",
    "pos_value":"float values"**(sum of all values starts with week ending in all YY1 brand object)**
}, {
    "parent":"XXX"
    "Brand" : "YY2",
    "pos_value":"float values"**(sum of all values starts with week ending in all YY2 brand object)**
}]

使用此聚合,利用和:

尽管如此,这种文档结构是高度不可伸缩的。我建议您重新思考,并执行类似以下操作:

{
    "Brand" : "YY1",
    "Parent Company" : "XXX",
    "Weeks": [
       {"date": ISODate("02-12-14"), value: 339.154407659),
       {"date": ISODate("01-19-14"), value: 458.614275287}
    ]
}

使用此聚合,利用和:

尽管如此,这种文档结构是高度不可伸缩的。我建议您重新思考,并执行类似以下操作:

{
    "Brand" : "YY1",
    "Parent Company" : "XXX",
    "Weeks": [
       {"date": ISODate("02-12-14"), value: 339.154407659),
       {"date": ISODate("01-19-14"), value: 458.614275287}
    ]
}

谢谢你的回答,我会查的谢谢你的回答,我会查的
{
    "Brand" : "YY1",
    "Parent Company" : "XXX",
    "Weeks": [
       {"date": ISODate("02-12-14"), value: 339.154407659),
       {"date": ISODate("01-19-14"), value: 458.614275287}
    ]
}