0
ich Dokumente, die wie folgt aussehen:Mongo - Distinct Spiel gesamte Array
{"arr":["a","b","c"]},
{"arr":["a","b","x"]},
{"arr":["c","b","a"]},
{"arr":["a","b","c"]}
Ich möchte verschiedene rufen alle eindeutigen Arrays zu erhalten, jedoch für ein Array Abfrage übereinstimmt Elemente standardmäßig diese Bedeutung:
db.getCollection("mycoll").distinct("arr",{});
kehrt:
["a","b","c","x"]
statt
[["a","b","c"],
["a","b","x"],
["c","b","a"]]
Wie kann ich für verschiedene Arrays abfragen? Ich würde Optional lieben die Anzahl der Vorkommen jedes Ergebnis erhalten zu:
{["a","b","c"] : 2,
["a","b","x"] : 1,
["c","b","a"] : 1}
Verwenden Sie '$ group' im Array mit' $ sum' in der Gesamtpipeline. Etwas wie 'db.collectionname.aggregate ({$ group: {_ id:" $ arr ", count: {$ sum: 1}}})' – Veeram
Das funktionierte für mich: 'db.mycoll.aggregate ({$ group: {_id: "$ arr", Anzahl: {$ sum: 1}}}) '. Vielen Dank! Wenn Sie eine Antwort geben, werde ich es akzeptieren. – Porthos3
Mögliches Duplikat von [Group by sum mongodb] (https://stackoverflow.com/questions/17909694/group-by-sum-mongodb) – Veeram