So synchronisieren Sie MONGODB Async-Abfrage in NodeJs
Frage
Ich habe eine Vorratsaussage und einen Async-MONGODB-Innenschleifenkörper.Was ich tun möchte, ist, eine find
-Abfrage von meiner MONGODB-Datenbank zu erstellen, und drücken Sie das Ergebnis in ein Array.
Hier ist der Code:
generasacodicetagpre.Es ist jedoch offensichtlich, dass der Rückgabewert der Funktion ein leeres Array wäre.
Ich möchte dieses Problem mit dem Q
-Modul angehen.Gibt es Lösungen?
Lösung
Ich möchte dieses Problem mit dem Q-Modul angehen.Gibt es Lösungen?
Ja, Versprechungen sind eine sehr einfache Abstraktion, um damit umzugehen.Sie können die Abfragen parallel ausführen und ihre Ergebnisse mit all
.
Andere Tipps
Sie benötigen einen Sync-Mechanismus, der wie ein Prozessgatter dient. Jede zurückkehrende Abfrage muss am Gate ankommen, z.dekret etwas Zähler und entlargen sein Ergebnis. Wenn alle am Gate angekommen sind, gibt ein endgültiger Rückruf die gesammelten Ergebnisse zurück.