Skip to content

Latest commit

 

History

History
37 lines (22 loc) · 2.97 KB

crear-un-indice-de-pajar.md

File metadata and controls

37 lines (22 loc) · 2.97 KB

Crear un índice de pajar

IMPORTANTEDeprecación

MongoDB 4.4 desaprueba el índice geoHaystack y el geoSearchcomando. Utilice un índice 2d con $geoNearo en su $geoWithinlugar.

Un índice de pajar debe hacer referencia a dos campos: el campo de ubicación y un segundo campo. El segundo campo se utiliza para coincidencias exactas. Los índices de Haystack devuelven documentos basados ​​en la ubicación y una coincidencia exacta en un único criterio adicional. Estos índices no son necesariamente adecuados para devolver los documentos más cercanos a una ubicación en particular.

Para construir un índice de pajar, use la siguiente sintaxis:

db.coll.createIndex( { <location field> : "geoHaystack" ,                       <additional field> : 1 } ,                     { bucketSize : <bucket value> } )

Para construir un índice de pajar, debe especificar la bucketSizeopción al crear el índice. Una bucketSizede 5crea un índice que agrupa los valores de ubicación que están dentro de las 5 unidades de la longitud y latitud especificadas. El bucketSizetambién determina la granularidad del índice. Puede ajustar el parámetro a la distribución de sus datos para que, en general, busque solo regiones muy pequeñas. Las áreas definidas por cubos pueden superponerse. Un documento puede existir en varios depósitos.EJEMPLO

Si tiene una colección con documentos que contienen campos similares a los siguientes:

{ _id : 100, pos: { lng : 126.9, lat : 35.2 } , type : "restaurant"}{ _id : 200, pos: { lng : 127.5, lat : 36.1 } , type : "restaurant"}{ _id : 300, pos: { lng : 128.0, lat : 36.7 } , type : "national park"}

Las siguientes operaciones crean un índice de pajar con depósitos que almacenan claves dentro de 1 unidad de longitud o latitud.

db.places.createIndex( { pos : "geoHaystack", type : 1 } ,                       { bucketSize : 1 } )

Este índice almacena el documento con un _idcampo que tiene el valor 200en dos depósitos diferentes:

  • En un depósito que incluye el documento donde el _idcampo tiene un valor de100
  • En un depósito que incluye el documento donde el _idcampo tiene un valor de300

Para consultar usando un índice de pajar, usa el geoSearch comando. Consulte Consultar un índice de Haystack .

De forma predeterminada, las consultas que utilizan un índice de pajar devuelven 50 documentos.