所以我很抱歉如果這個問題存在,我找不到一個適合我需求的答案,但我認爲它很簡單,不幸的是我對Mongo的非基本功能仍然陌生儘管在過去的兩年中已經涉獵了它。在Mongodb中使用聚合框架的簡單分組示例
我的數據: 我有一個集合這是一個非常簡單的文檔集,分別代表庫存的微芯片訂單項,芯片都有零件編號,股票代碼,日期代碼和分位數
(日期代碼指示產品何時生產:0611通常意味着2011年6月對於那些不熟悉的產品)。
零件號是運行搜索的ed用戶最重要的一部分數據,但零件號可能會顯示因爲它是代表股票代碼(代表PN +日期代碼)的集合中的多次個別訂單項。不幸的是,外部最終用戶並沒有對股票代碼進行飛揚的揣測。
對於此特定搜索,我需要對所有零件號進行分組並返回所述零件號的總數量 - 對於此特定查找,我不需要日期代碼。
所以基本上,來自這三個文檔:
{PN:1234,數量:200,日期代碼:0611,stockcode:1} {PN:1234,數量:300,日期代碼:0411,stockcode:2 } {PN:1254,數量:100,日期代碼: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提供免費的在線課程,你應該檢查一下。我自己完成了一個。 –
謝謝,我來看看。我將會越來越多地使用它。 – picus