MongoDB aggregation mit Java-Treiber
Brauche ich Eure Hilfe für die Verwendung von MongoDB aggregation framework mit java-Treiber.
Ich verstehe nicht, wie das schreiben meiner Anfrage auch mit diese Dokumentation.
Möchte ich, um die 200 ältesten Ansichten von allen Sachen in meiner Sammlung. Hier ist mein mongo-Abfrage (was funktioniert, will ich im console-Modus):
db.myCollection.aggregate(
{$unwind : "$views"},
{$match : {"views.isActive" : true}},
{$sort : {"views.date" : 1}},
{$limit : 200},
{$project : {"_id" : 0, "url" : "$views.url", "date" : "$views.date"}}
)
Elemente in dieser Auflistung eine oder viele Ansichten.
Meine Frage ist nicht über den Antrag Ergebnis, ich möchte wissen, die java-syntaxe.
Zeigen Sie uns, was Sie versucht haben, für die jetzt-Ereignis, wenn es nicht funktioniert. Nicht zu erwarten, SO schreiben Sie Ihren code für Sie
InformationsquelleAutor Opsse | 2015-07-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Endlich die Lösung gefunden, ich bekomme das gleiche Ergebnis als mit der original-Anfrage.
Mongo Treiber 3 :
Aggregat doc
Können Sie machen es besser lesbar mit statisch importieren :
import static com.mongodb.client.model.Aggregates.*;
.Sehen koulini Antwort für complet Beispiel.
Mongo Fahrer 2 :
Aggregat doc
Abfrage-Konvertierung Logik :
Dank dieser link
Es ist ein
MongoCollection
auscom.mongodb.async.client
. Wo die Methode :aggregate(List<? extends Bson> pipeline)
. UndDocument
implementiertBson
, so ist alles in Ordnung.InformationsquelleAutor Opsse
Mithilfe vorherigen Beispiel als guide, hier ist, wie tun Sie es mit mongo Treiber 3:
InformationsquelleAutor Andres
Darauf hinzuweisen ist, dass Sie erheblich verbessern kann der code durch die Antworten hier, mit der Java-Aggregation Methoden für MongoDB.
Nehmen wir als Beispiel die OP ' s Antwort auf seine eigene Frage.
Wir können schreiben Sie den obigen code wie folgt;
Offensichtlich benötigen Sie die entsprechenden statischen import aber darüber hinaus, dass der code im zweiten Beispiel ist cleaner, sicherer (wie Sie nicht haben, um geben die Betreiber selbst jedes mal), mehr lesbar und mehr schöne IMO.
InformationsquelleAutor Nikiforos
Hier eine einfache Möglichkeit, die Anzahl der Mitarbeiter von departmentId..
Details unter: Aggregation mit Hilfe der Java-API
InformationsquelleAutor Ashutosh Srivastav