【发布时间】:2013-11-26 05:06:29
【问题描述】:
因此,如果存在此问题,我深表歉意,我找不到适合我需要的答案,但我认为这很简单,不幸的是,尽管我断断续续地涉足过 Mongo 的非基本功能,但我仍然是新手过去 2 年。
我的数据: 我有一个集合,它是一组非常简单的文档,每个文档代表一个微芯片库存项目,这些芯片都有零件号、库存代码、日期代码和数量
(表示该项目何时生产的日期代码:0611 对于不熟悉的人通常表示 2011 年 6 月。)
对于运行搜索的 ed 用户来说,零件编号是最重要的数据,但是,零件编号可能会在集合中出现多次,因为它是股票代码(代表 PN + 日期代码)代表单个订单项。不幸的是,外部最终用户并没有对股票代码给出一个飞行的忽悠。
对于这个特定的搜索,我需要将所有零件号分组并返回所述零件号的总数量 - 对于这个特定的查找,我不需要日期代码。
基本上,从这三个文档中:
{pn:1234, 数量:200, datecode:0611, stockcode:1} {pn:1234, 数量:300, datecode:0411, stockcode:2} {pn:1254, 数量:100, datecode:0601, stockcode:3}
我需要我的查询产生:
{pn:1234, 数量:500} {pn:1254, 数量:100}
我的问题: 我的问题很简单,我似乎找不到使用聚合框架进行如此简单组的示例。一切都有更具体和更复杂(如果只是稍微)的例子。
我的代码: 我正在尝试的代码是这样的:
db.collection.aggregate( { $group :
{ _id : "$pn",
total_qty : { $sum : "$qty" } } },
{ $match : {qty : { $gte : 1 } } } )
这有意义吗?
提前感谢任何人。
【问题讨论】:
-
MongoDb 在education.mongodb.com 上提供免费的在线课程,你一定要看看。我自己刚刚完成了一个。
-
谢谢,我去看看。以后我会越来越多地使用它。
标签: mongodb aggregation-framework