Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Cómo indexar los elementos de un arreglo

Para indexar arreglos, MongoDB Search solo requiere el tipo de dato de los elementos del arreglo. No tiene que indicar que los datos están contenidos en un arreglo ([]) en la definición del índice.

Si activas mapeos dinámicos, MongoDB Search indexa automáticamente los elementos de tipos de datos dinámicamente indexables dentro del arreglo. Para **aprender** más sobre los tipos de datos que MongoDB Search indexa dinámicamente, consulta Tipos de campos de MongoDB Search.

Puedes utilizar el Editor Visual o el Editor JSON de la Interfaz de Usuario de Atlas para definir el índice de los elementos de los arreglos.

MongoDB Search indexa los tipos de datos compatibles dentro de un arreglo aplanando los campos durante la indexación.

Ejemplo

Considera los siguientes documentos:

doc1 = { a: {b: [[<value1>, <value2>], <value3>] }}
doc2 = { a: {b: [<value1>, <value2>, <value3>] } }
doc3 = { a: [{ b: <value1>}, {b: <value2>}, {b: <value3>}] }

MongoDB Search aplana los arreglos anteriores de manera similar a lo siguiente durante la indexación:

LuceneDoc<n> = {"a.b":[<value1>,<value2>,<value3>]}

Para consultar campos dentro de un arreglo de documentos u objetos, es necesario utilizar el tipo de embeddedDocuments para indexar el campo que contiene el conjunto de objetos.

Para definir el índice de los elementos del arreglo, elige tu método de configuración preferido en la Interfaz de Usuario de Atlas y luego selecciona la base de datos y la colección.

  1. Haga clic Refine Your Index para configurar el índice.

  2. En la sección Field Mappings, haz clic en Add Field Mapping para abrir la ventana Add Field Mapping.

  3. Haga clic en Customized Configuration.

  4. Seleccione el campo de tipo arreglo que desea indexar en el menú desplegable Field Name.

  5. Haz clic en el desplegable Data Type y selecciona el tipo de dato del elemento del arreglo que deseas indexar. Para aprender a configurar las propiedades para el tipo seleccionado, consulta la documentación para el tipo seleccionado.

  6. Haga clic en Add.

Lo siguiente es el la sintaxis JSON para indexar elementos dentro de un arreglo. Reemplaza la definición de índice por defecto por la siguiente.

1{
2 "mappings": {
3 "dynamic": true|false,
4 "fields": {
5 "<array-field-name>": {
6 "type": "<array-element-data-type>"
7 }
8 }
9 }
10}

The following index definition example uses the sample_mflix.movies collection. If you have the sample data already loaded on your cluster, you can use the Visual Editor or JSON Editor in the Atlas UI to configure the index. After you select your preferred configuration method, select the database and collection, and refine your index to add field mappings.

La siguiente definición de índice indexa el campo genres, que contiene un arreglo de valores de string.

  1. En la ventana Add Field Mapping, selecciona genres del menú desplegable Field Name.

  2. Haz clic en el desplegable Data Type y selecciona String.

  3. Mantén la configuración predeterminada para el String Properties.

  4. Haga clic en Add.

Reemplazar la definición predeterminada del índice con la siguiente definición del índice.

1{
2 "mappings": {
3 "fields": {
4 "genres": {
5 "type": "string"
6 }
7 }
8 }
9}

Volver

Asignaciones de campos

En esta página