1
MongoDBの集計パイプラインで複数のsubcountsを取得します余分な情報のためにセグメントの詳細を検索して、各グループのユニークな "クラス"と "サブクラス"の値を私に与えます。は、次のようにドキュメントのモデルがある
db.getCollection('global_products').aggregate([{
$group :{
_id : {
seg:'$taxonomy.segment'
},
count : {
$sum : 1
},
classes: {
$addToSet:{
code:'$taxonomy.class'
},
},
subclasses: {
$addToSet:{
code:'$taxonomy.subclass'
}
},
}
},{
$lookup: {
from:'global_taxonomy',localField:'_id.seg',foreignField:'code', as:'segment_details'
}
},
])
私はクラスとサブクラスの種類ごとにカウントを追加したいと思いますが、方法を理解できないようです。集約パイプラインを使用することは可能ですか?
は、私は、次のJSONでsubcount
値を追加したいと思い、明確にする:
{
"_id" : {
"seg" : 64000000
},
"count" : 1906,
"classes" : [
{"code" : 64010200, subcount:x},
{"code" : 64010300, subcount:y},
{"code" : 64010100, subcount:z}
],
"subclasses" : [
{"code" : 64010200, subcount:s},
{"code" : 64010300, subcount:t},
{"code" : 64010100, subcount:u}
],
"segment_details" : [
{
"_id" : ObjectId("572c8eba2b311f69f9c1666a"),
"code" : 64000000,
"name" : "Main Stock",
"type" : "segment"
}
]
}
出力には次のように表示されます。http://pastebin.com/1pe2kc3C – xShirase
テスト用の入力コレクションを追加できますか? – Veeram
データを準備すると私の誤植が示されました。実際は完璧に働いています。ありがとう! – xShirase