0
folgenden beiden Dokumente vor:Gruppe Arrayelemente zählen Vorkommen
{ "name" : "test1", "source" : ["Apple","Cherry"], "dest" : ["Banana", "Durian"]}
{ "name" : "test2", "source" : ["Melon","Fig"], "dest" : ["Apple"]}]
Eingangs
["Apple","Orange","Fig"]
Erwartete Ausgabe
{ "_id" : "Apple", nameList : ["test1", "test2"] }
{ "_id" : "Fig", nameList : ["test2"] }
{ "_id" : "Orange", nameList : [] }
Aggregation
db.getCollection<name>.aggregate([
{ "$match" : <some_matching_conditions>},
{ "$project" :
{ "$project" : { "input_array" : { "$literal" : ["Apple","Orange","Fig"]} }},
{ "obj" : {"$setUnion" : ["$source", "$dest"]}},
},
{ "$unwind" : "$aray"},
{ "$match" : { "aray" : { "$in" : "$obj"}}},
{ "$group" : <grouping_conditons>}
])
Fehler: "errmsg": "Ausnahme: schlechte Abfrage: BadValue $ in braucht ein Array" – Bala