Ich habe ein Array A im Speicher zur Laufzeit erstellt und ein anderes Array B in einer Mongo-Datenbank gespeichert. Wie kann ich effizient alle Elemente von A erhalten, die nicht in B sind?Vergleiche Arrays und gebe den Unterschied zurück
Sie können davon ausgehen, dass das in mongodb gespeicherte Array mehrere Größenordnungen größer als das zur Laufzeit erstellte Array ist. Aus diesem Grund denke ich, dass das Erlangen des vollständigen Arrays aus Mongo und Berechnen des Ergebnisses nicht effizient wäre Ich habe keine Abfrageoperation in Mongo gefunden, mit der ich das gewünschte Ergebnis berechnen kann.
Beachten Sie, dass der $nin Operator tut das Gegenteil von dem, was ich will, das heißt, ruft es die Elemente von B, die nicht in A. sind
Beispiel:
Array A, in meinem appliction zur Laufzeit erstellt , ist [2, 3, 4]
.
Array B, gespeichert in Mongodb, ist [1, 3, 5, 6, 7, 10]
. Das Ergebnis, das ich erwarte, ist [2, 4]
.