2011-05-01 16 views

Respuesta

0

La documentación de MongoDB para la indexación geoespacial está disponible here. Eso debería proporcionarle detalles sobre "cómo almacenar y consultar datos de ubicación".

mongoid es solo un contenedor de objetos alrededor del controlador Ruby existente. Una vez que comprenda cómo emitir consultas geográficas, entonces debería ser cuestión de emitir estas consultas a través del mongoid.

3

Debido a que, como yo, sospecho que muchas personas aprenden mejor a partir de ejemplos, aquí es una:

Suponiendo que haya creado un índice 2d en su campo de matriz geoespacial (ver más abajo para más detalles), y digamos que su modelo de objetos es Place y el campo de ubicación es: loc, una consulta cuadro delimitador podría tener este aspecto:

# Bounding Box query 
Place.where(:loc.within => { "$box" => [ [ 20.73083, 30.99756 ], [ 45.741404, 51.988135 ] ] }).count 

Además del enlace publicado por Gates VP anterior, asegúrese de leer también este documento de Moingoid: http://mongoid.org/docs/querying/criteria.html . Encontrará más ejemplos como los de arriba.

Además, debe asegurarse de que se haya creado su índice. Lea el siguiente documento de Mongoid, y la correspondiente Doc MongoDB:

http://mongoid.org/docs/indexing.html

http://www.mongodb.org/display/DOCS/Geospatial+Indexing

Cuestiones relacionadas