2017-02-14 2 views
0

Im MongoDB-Aggregationsmuster können wir viele Dokumente bearbeiten und sie in neuen Datenstrukturen zusammenfassen, indem wir Elemente sortieren, filtern, entfernen und hinzufügen, um neue Dokumente zu erzeugen als Abfrage abgerufen.Kann die MongoDB-Aggregation andere Dokumente abfragen? Mit anderen Worten: rekursive Suche auf der Seite von mongodb, nicht nach

Angenommen, ich brauche zum Beispiel die Bedeutung eines Wortes in einem Wörterbuch. Wenn ich das Wort "Pferd" in einem Wörterbuch finde, bekomme ich etwas wie: "Pferd ist ein Tier". Dann würde ich gerne wissen, was ein Tier ist, also suche ich wieder im Wörterbuch nach der Bedeutung von "Tier".

Wenn ich es in wie, Python tun würde, müsste ich die Bedeutung von "Hund" finden, warten, bis es ankommt, dann lese es und extrahiere das Wort Tier. Dann müsste ich nach der Bedeutung von 'Tier' fragen, darauf warten, dass es ankommt, und so weiter ...

Gibt es eine Möglichkeit, diese rekursive Aufgabe vollständig an MongoDB zu delegieren, also brauche ich nicht abfragen und auf jedes Wort warten? Ich dachte "Aggregat" würde lösen, aber es scheint, dass es nur Dokumente aus einer Abfrage in neue Dokumente zuordnen kann, keine Daten von neuen Abfragen

Antwort

0

Mongo db Aggregation Framework funktioniert in Schritten. Zuerst wählen Sie die Daten aus der Sammlung aus und Sie wenden Gruppe, Übereinstimmung, Projekt, Sortieren usw. für den ausgewählten Datensatz an. Daten werden basierend auf der Operation transformiert, die bei jedem Schritt darauf angewendet wird. Der nächste Schritt erhält nur die transformierten Daten von der vorherigen. Das, was Sie fragen, erfordert den vollständigen Datensatz bei jeder Instanz und das bedeutet, dass die Abfrage zurück an die Datenbank abgefeuert wird, was hier nicht der Fall ist.

Sie können Aggregationsframework verwenden, wenn Sie den vollständigen Satz oder eine Teilmenge von Daten aus der Sammlung auswählen und daran arbeiten können, indem Sie sie in jedem Schritt transformieren.

+0

So ist es nicht möglich, an einem empfangenen Dokument zu arbeiten und mehr Dokumente, alle Server-Seite, mit oder ohne Aggregation abzufragen? –

+0

Überprüfen Sie dies -> https://docs.mongodb.com/manual/tutorial/store-jaskascript-function-on-server/. Dies könnte helfen. – JayKrish

Verwandte Themen