Ich bin ein Anfänger mit mongo und node.js, und in einem bestehenden Projekt haben wir eine Sammlung mit Shops mit Geolocs. Ich bekomme den folgenden Fehler (Ich habe einige Felder entfernt)
%Vor% wenn ich $set
einige Werte im Shop versuche. Ich sehe, dass die Werte -9999, -9999 nicht korrekt sind, aber wenn ich versuche, das durch (in Robomongo) andere Werte zu ersetzen, bekomme ich den gleichen Fehler. Wie kann ich diesen Fehler beheben, damit ich die Werte in loc
bearbeiten und $set
?
Sie haben Recht, dass der Fehler auf die ungültigen Geokoordinaten zurückzuführen ist, die Sie in diesem Dokument haben (siehe 2Dsphere-Indizes ).
Angenommen, dies ist das Dokument, das Sie haben:
%Vor% Die einfachste Methode besteht darin, die mongo
-Shell für ein Update ausführen , indem Sie ObjectId
verwenden und eine $set
im Feld loc
. B. indem Sie das Feld loc
auf eine gültige Koordinate setzen (z. B. [-73.97, 40.77]):
Beachten Sie, dass ich im obigen Beispiel das Feld _id
verwende, das garantiert eindeutig ist, so dass der Befehl update nur das genaue Dokument aktualisiert. Danach sollte Ihre 2Dsphere-Indexerstellung erfolgreich sein:
Tags und Links geolocation mongodb