Das Modell der docs ist wie folgt:mehrere subcounts in MongoDB Aggregat Pipeline
{
_id: ObjectID,
name: String,
taxonomy: {
segment : Number,
class : Number,
subclass : Number,
}
}
Ich bin ein Aggregat Abfrage ausgeführt wird, der die Dokumentation von „taxonomy.segment“ Gruppen, in jedem einzelnen Dokument zählt, und gibt mir die eindeutigen Werte "Klasse" und "Unterklasse" für jede Gruppe, mit einem Blick auf die Segmentdetails für zusätzliche Informationen.
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'
}
},
])
Ich mag die Zählungen für jede Art von Klassen und Unterklassen hinzufügen, aber kann nicht scheinen, einen Weg, um herauszufinden. Ist es möglich, die Gesamtpipeline zu verwenden?
Um zu klären, würde ich subcount
Werte in der folgenden JSON hinzufügen:
{
"_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"
}
]
}
scheint nicht alles zu tun, Ausgabe sagt: http://pastebin.com/1pe2kc3C – xShirase
Können Sie Ihre Eingabe Sammlung für mich zu testen? – Veeram
Vorbereitung der Daten zeigte mir meinen Tippfehler, es funktioniert in der Tat perfekt, danke! – xShirase