Ich verwende MongoDB Java-Treiber 3.2.2, um einige Aggregationsvorgänge durchzuführen, aber ich bin mir nicht sicher, ob damit etwas erreicht werden könnte.Aggregation mit MongoDB Java-Treiber
Die ursprüngliche Abfrage in MongoDB ist:
db.getCollection('report').aggregate({
$group: {
_id: "$company_id",
count: {
$sum: {
$cond: [{
$eq: ["$idcard.status", "normal"]
},0,1]
}
}
}
})
Ich habe keine Ahnung, wie als Parameter von "$ sum" Operator in Java-Treiber im Codeabschnitt unter dem "$ Cond" zu setzen:
AggregateIterable<Document> res = col.aggregate(Arrays.asList(
group("$company_id",
sum("count", ...)
)));
Ich habe die official document über diese ohne Ergebnis gesucht, hat jemand Erfahrung dabei? Vielen Dank.
Schließlich benutze ich die Document-Klasse für diesen Fall, danke für die genaue Erklärung des Unterschieds! – realjin