Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/
Manual de base de datos
/

2d Indexes

Utilice un índice 2d para los datos almacenados como puntos en un plano bidimensional. El índice 2d está destinado a legacy coordinate pairs usados en MongoDB 2.2 y anteriores.

Utiliza un índice 2d si:

  • tu base de datos tiene pares de coordenadas antiguos de MongoDB 2.2 o anterior, y

  • no tienes la intención de almacenar ningún dato de ubicación como objetos GeoJSON.

Para obtener más información sobre consultas geoespaciales, consulta Consultas geoespaciales.

Puedes especificar una opción de key en la $geoNear etapa del pipeline para indicar la ruta del campo indexado a utilizar. Esto permite que la etapa $geoNear sea utilizada en una colección que tiene múltiples índices 2d y/o múltiples 2d índice de esfera:

  • Si tu colección tiene múltiples 2d índices y/o múltiples índices 2dsphere, debes usar la opción key para especificar la ruta de campo indexado que se utilizará.

  • Si no especificas el key, no puedes tener múltiples índices 2d y/o múltiples índices 2dsphere ya que sin el key, la selección del índice entre múltiples 2d índices o 2dsphere índices es ambigua.

Nota

Si no especificas el key, y tienes como máximo solo un 2d índice y/o solo un índice 2dsphere, MongoDB buscará primero un 2d índice para usar. Si un índice 2d no existe, entonces MongoDB busca un índice 2dsphere para utilizar.

No use un índice 2d si sus datos de ubicación incluyen objetos GeoJSON. Para indexar en ambos pares de coordenadas heredadas y objetos GeoJSON, utiliza un índice 2dsphere.

No se puede usar un 2d índice como clave de fragmento al fragmentar una colección. Sin embargo, se puede crear un índice geoespacial en una colección fragmentada usando un campo diferente como clave de fragmento.

El 2d índice admite cálculos en un plano euclidiano. El 2d índice también admite cálculos de solo distancia en una esfera (p. $nearSphere ej.,), pero para cálculos geométricos en una esfera (p. $geoWithin ej.,), almacene los datos como objetos GeoJSON y use un 2dsphere índice.

Un índice 2d puede hacer referencia a dos campos. La primera debe ser el campo de ubicación. Un índice compuesto 2d construye consultas que seleccionan primero en el campo de ubicación y luego filtran esos resultados por los criterios adicionales. Un índice compuesto 2d puede cubrir consultas.

2d los índices siempre son dispersos e ignoran la opción dispersa. Si a un documento le falta un campo de índice 2d (o el campo es null o es un arreglo vacío), MongoDB no agrega una entrada para el documento en el índice 2d. Para las inserciones, MongoDB inserta el documento pero no lo agrega al índice 2d.

Para un índice compuesto que incluye un índice clave 2d junto con índices de otros tipos, sólo el campo índice 2d determina si el índice hace referencia a un documento.

2d Los índices solo admiten la comparación binaria simple y no admiten la opción de intercalación.

Para crear un índice 2d en una colección que tenga una intercalación no simple, debes especificar explícitamente {collation: {locale: "simple"} } al crear el índice.

Volver

query um índice 2dsphere

En esta página