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

mongodb geoNear vs near

Der Wirkungsgrad sollte bei beiden identisch sein.

geoNear Die Haupteinschränkung von besteht darin, dass es als Befehl einen Ergebnissatz bis zur maximalen Dokumentgröße zurückgeben kann, da alle übereinstimmenden Dokumente in einem einzigen Ergebnisdokument zurückgegeben werden. Es erfordert auch, dass jedem Ergebnisdokument ein Entfernungsfeld hinzugefügt wird, was je nach Verwendung ein Problem sein kann oder nicht.

$near ist ein Abfrageoperator, sodass die Ergebnisse größer als ein einzelnes Dokument sein können (sie werden immer noch in einer einzelnen Antwort, aber nicht in einem einzelnen Dokument zurückgegeben). Sie können die maximale Anzahl von Dokumenten auch über das Limit() der Abfrage festlegen.

Ich neige dazu, Benutzern zu empfehlen, bei $near zu bleiben es sei denn, sie benötigen die diagnostics (z. B. Entfernung oder übereinstimmender Standort) von geonear Befehl.