MongoDB mit Mongoid in Schienen - Räumliche Indizierung
MongoDB, hat eine sehr schöne Räumliche Indizierung Funktion. Wie kann ich es nutzen in Schienen mit Mongoid?
Du musst angemeldet sein, um einen Kommentar abzugeben.
MongoDB, hat eine sehr schöne Räumliche Indizierung Funktion. Wie kann ich es nutzen in Schienen mit Mongoid?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie festlegen, geo-Indizes, wie diese in mongoid
Und für Abfragen
$in der Nähe von Befehl (ohne maxDistance)
$in der Nähe von Befehl (mit maxDistance)
Konvertieren Entfernung von 111.12 (ein Grad ist ungefähr 111.12 km) bei km, oder lassen Sie Abstand, wie es ist mit Grad
$centerSphere /$nearSphere Abfragen
So finden Sie die Elemente, die innerhalb des 10 km radius. Hier müssen wir konvertieren die Entfernung/6371(radius der Erde), um es zu bekommen Arbeit mit km.
$box (bounding-box-Abfragen)
Dies wird Ihnen helfen, die Elemente zu finden, innerhalb der vorgegebenen bounding-box.
Item.where(:loc => {"$near" => [ 80.249, 13.060422 ] , '$maxDistance' => 0.001799856011519079})
. es funktioniert einwandfrei.. Können Sie mir zeigen, die Abfrage, die du versucht hast? wir ll sehen, dannRameshVel s Antwort ist Super.
Als ein update, in Mongoid 3.0.4, ich hatte zu definieren, die den index wie folgt zu machen, arbeiten mit
rake db:mongoid:create_indexes
:Mongoid 3.0.0
die Dokumentation zeigt das folgende formatindex({ loc: "2d" }, { min: -200, max: 200 })
. Cheers.Alle diese Antworten sind veraltet mit den neuesten Versionen von MongoDB und werfen einige
uninitialized constant Mongo::GEO2D
Für mongoid 4/5, schlage ich vor, Sie haben Blick auf die mongoid-geospatial gem wenn Sie brauchen, um zu spielen mit 2D-Objekten oder Koordinaten.