2017-09-27 2 views
0

Ich habe gesucht, konnte aber keine Antwort auf mein Problem finden. Ich habe eine Sammlung mit dieser Probenstruktur in MongoDB bekommt:MongoDB: Gruppenwerte in verschachtelten Array zu zählen

{ 
    "_id": ObjectID(1), 
    "Manual_Tags": [ 
    { 
     _source: { 
     tags: [ "tag1", "tag2", "tag3"] 
     other_values: ... 
     } 
    } 
    ] 
} 
{ 
    "_id": ObjectID(2), 
    "Manual_Tags": [ 
    { 
     _source: { 
     tags: [ "tag2", "tag3", "tag4"] 
     other_values: ... 
     } 
    } 
    ] 
} 

Ich brauche die Anzahl der Instanzen für jeden Wert von „Tags“ in der Sammlung vorhandenen wissen für alle Dokumente (Manual_Tags [] ._ Quelle. Stichworte[]). Das heißt, für die 2-Dokumente in der Probe oben, würde der Eintrag sein: tag1: 1 tag2: 2 tag3: 2 tag4: 1

Vielen Dank im Voraus für jede Hilfe.

Antwort

0

Sie müssen aggregation Abfragen betrachten. Zuerst müssen Sie beide Arrays abwickeln und dann nur Gruppen auf Tags um die Anzahl zu erhalten

+0

Vielen Dank. Diese einfache Abfrage hat es getan. – Alfredo

Verwandte Themen