MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Ausführen von MongoDB-Abfragen in Map/Reduce

Theoretisch ist dies möglich. In der Praxis gibt es damit viele Probleme.

  • Problem Nr. 1 :Exponentialarbeit. M/R ist schon ziemlich intensiv und schlecht protokolliert. Das Hinzufügen von Abfragen kann leicht dazu führen, dass M/R außer Kontrolle gerät.
  • Problem Nr. 2 :Kontext. Stellen Sie sich vor, Sie führen eine Sharding-M/R aus und fragen eine nicht-sharded-Sammlung ab. Hat der aktuelle Kontext überhaupt diese Verbindung?

Sie versuchen im Grunde, JOIN-Logik zu implementieren, und MongoDB hat keine Joins. Stattdessen müssen Sie die endgültigen Daten möglicherweise in mehreren Phasen erstellen, indem Sie einige Schleifen mit einigen Datensätzen ausführen.