首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongodb组和sum不工作

Mongodb组和sum不工作
EN

Stack Overflow用户
提问于 2016-08-02 06:23:59
回答 1查看 253关注 0票数 2

我有一个聚合脚本,它可以将我带到一个结果集,如下所示:

代码语言:javascript
复制
{ 
"_id" : "SI-3", 
"party_uuid" : "dfa1e80a-5521-11e6-beb8-9e71128cae77", 
"transaction_date" : ISODate("2016-04-14T00:00:00.201+0000"), 
"transaction_net_value" : 1666.67, 
"object_category" : "Revenue", 
"object_origin_category" : "Bookkeeping", 
"object_origin" : "Sage One", 
"item_quantity" : NumberInt(10), 
"item_name" : "Product Three", 
"item_category" : "Sales Revenue", 
"item_ net_total_value" : 1666.67
}
{ 
"_id" : "SI-2", 
"party_uuid" : "dfa1e80a-5521-11e6-beb8-9e71128cae77", 
"transaction_date" : ISODate("2016-05-19T00:00:00.201+0000"), 
"transaction_net_value" : NumberInt(1500), 
"object_category" : "Revenue", 
"object_origin_category" : "Bookkeeping", 
"object_origin" : "Sage One", 
"item_quantity" : NumberInt(1), 
"item_name" : "Product One", 
"item_category" : "Sales Revenue", 
"item_ net_total_value" : NumberInt(1500)
}
{ 
"_id" : "SI-15", 
"party_uuid" : "dfa1e80a-5521-11e6-beb8-9e71128cae77", 
"transaction_date" : ISODate("2016-07-11T00:00:00.201+0000"), 
"transaction_net_value" : 8333.33, 
"object_category" : "Revenue", 
"object_origin_category" : "Bookkeeping", 
"object_origin" : "Sage One", 
"item_quantity" : NumberInt(7), 
"item_name" : "Product Four", 
"item_category" : "Sales Revenue", 
"item_ net_total_value" : 8333.33
}
{ 
"_id" : "SI-14", 
"party_uuid" : "dfa1e80a-5521-11e6-beb8-9e71128cae77", 
"transaction_date" : ISODate("2016-07-11T00:00:00.201+0000"), 
"transaction_net_value" : NumberInt(7500), 
"object_category" : "Revenue", 
"object_origin_category" : "Bookkeeping", 
"object_origin" : "Sage One", 
"item_quantity" : NumberInt(6), 
"item_name" : "Product Four", 
"item_category" : "Sales Revenue", 
"item_ net_total_value" : NumberInt(7500)
}
{ 
"_id" : "SI-1", 
"party_uuid" : "dfa1e80a-5521-11e6-beb8-9e71128cae77", 
"transaction_date" : ISODate("2016-06-16T00:00:00.201+0000"), 
"transaction_net_value" : NumberInt(1500), 
"object_category" : "Revenue", 
"object_origin_category" : "Bookkeeping", 
"object_origin" : "Sage One", 
"item_quantity" : NumberInt(1), 
"item_name" : "Product One", 
"item_category" : "Sales Revenue", 
"item_ net_total_value" : NumberInt(1500)
}
{ 
"_id" : "SI-1", 
"party_uuid" : "dfa1e80a-5521-11e6-beb8-9e71128cae77", 
"transaction_date" : ISODate("2016-06-16T00:00:00.201+0000"), 
"transaction_net_value" : NumberInt(1500), 
"object_category" : "Revenue", 
"object_origin_category" : "Bookkeeping", 
"object_origin" : "Sage One", 
"item_quantity" : NumberInt(1), 
"item_name" : "Product Twenty Two", 
"item_category" : "Sales Revenue", 
"item_ net_total_value" : NumberInt(1500)
}

当我添加如下所示的最后一个阶段时,我得到的结果并不像预期的那样$sum。当它很明显不是0时,我得到0。你知道我在$group阶段做错了什么吗?

代码语言:javascript
复制
$group : {
_id: {"party_uuid" : "$party_uuid", 
  "transaction_year" : {$year : "$transaction_date"}, 
  "transaction_month" : {$month : "$transaction_date"}, 
  "category" : "$item_category", 
  "object_origin_category" : "$object_origin_category", 
  "object_origin" : "$object_origin"},
  "month_net_value" : { $sum: "$item_net_total_value" }
}

这个结果

代码语言:javascript
复制
{ 
"_id" : {
    "party_uuid" : "dfa1e80a-5521-11e6-beb8-9e71128cae77", 
    "transaction_year" : NumberInt(2016), 
    "transaction_month" : NumberInt(6), 
    "category" : "Sales Revenue", 
    "object_origin_category" : "Bookkeeping", 
    "object_origin" : "Sage One"
}, 
"month_net_value" : NumberInt(0)
}
{ 
"_id" : {
    "party_uuid" : "dfa1e80a-5521-11e6-beb8-9e71128cae77", 
    "transaction_year" : NumberInt(2016), 
    "transaction_month" : NumberInt(5), 
    "category" : "Sales Revenue", 
    "object_origin_category" : "Bookkeeping", 
    "object_origin" : "Sage One"
}, 
"month_net_value" : NumberInt(0)
}
{ 
"_id" : {
    "party_uuid" : "dfa1e80a-5521-11e6-beb8-9e71128cae77", 
    "transaction_year" : NumberInt(2016), 
    "transaction_month" : NumberInt(7), 
    "category" : "Sales Revenue", 
    "object_origin_category" : "Bookkeeping", 
    "object_origin" : "Sage One"
}, 
"month_net_value" : NumberInt(0)
}
{ 
"_id" : {
    "party_uuid" : "dfa1e80a-5521-11e6-beb8-9e71128cae77", 
    "transaction_year" : NumberInt(2016), 
    "transaction_month" : NumberInt(4), 
    "category" : "Sales Revenue", 
    "object_origin_category" : "Bookkeeping", 
    "object_origin" : "Sage One"
}, 
"month_net_value" : NumberInt(0)
}

再次感谢

EN

回答 1

Stack Overflow用户

发布于 2016-08-02 06:26:33

会不会是你的key中有一个空格:

代码语言:javascript
复制
"item_ net_total_value"

请比较:

代码语言:javascript
复制
"$item_net_total_value"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38709020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档