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
/ /

Cómo indexar campos de fecha para la búsqueda por facetas

Puede utilizar la búsqueda de MongoDB dateFacet tipo para la indexación de valores de fechas para facetas.

MongoDB Search solo admite consultas del operador faceta en campos indexados como el tipo dateFacet. Para realizar una búsqueda normal también en el mismo campo, debes indexar el campo como tipo fecha también.

Para realizar facetado en campos de string en documentos insertados, es necesario indexar los campos principales como tipo documento. Cuando se realiza un facetado en un campo de string dentro de documentos incrustados, MongoDB Search devuelve el recuento de facetas solo para el número de documentos principales que coinciden.

MongoDB Search no indexa dinámicamente valores de fecha para facetas. Debe usar mapeos estáticos para indexar valores de fecha para la faceta. Puedes usar el Editor visual o el Editor JSON en la Interfaz de Usuario de Atlas para indexar campos de fecha como el tipo number.

Se aplican las siguientes limitaciones:

  • No se puede indexar un campo de fecha para realizar facetas si está dentro de una matriz o si está dentro de un documento en una matriz.

  • MongoDB Search no admite el facetado de fechas en los campos indexados como parte de un campo embeddedDocuments.

    Nota

    Para solicitar esta funcionalidad y brindar tu opinión, utiliza el Feedback de MongoDB.

Para definir el índice para el tipo dateFacet, 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 su í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. Selecciona el campo para indicar desde el desplegable Field Name.

    Nota

    No puedes indexar campos que contengan el signo de dólar ($) al inicio del nombre del campo.

  5. Haga clic en el menú desplegable Data Type y seleccione DateFacet. Para obtener más información sobre este tipo, consulte Propiedades de campo.

  6. Haga clic en Add.

Lo siguiente es el JSON sintaxis para el tipo dateFacet. Sustituye la definición del índice por defecto por la siguiente. Para obtener más información sobre los campos, consulta Propiedades de campo.

{
"mappings": {
"dynamic": true|false,
"fields": {
"<field-name>": {
"type": "dateFacet"
}
}
}
}

El tipo MongoDB Search dateFacet toma el siguiente parámetro:

Nombre del campo de la interfaz de usuario
JSON Option
Tipo
Necesidad
Descripción

Data Type

type

string

Requerido

Etiqueta legible por humanos que identifica este tipo de campo. El valor debe ser dateFacet.

El siguiente ejemplo de definición de índice utiliza la colección sample_mflix.movies. Si ya tienes los datos de muestras cargados en tu clúster, puedes usar el editor visual o el editor JSON en la Interfaz de Usuario de Atlas para configurar el índice. Después de seleccionar tu método de configuración preferido, selecciona la base de datos y la colección, y perfecciona tu índice para agregar mapeos de campos.

El siguiente ejemplo de definición de índice indexa el campo released como el tipo dateFacet de MongoDB Search para admitir consultas en ese campo mediante MongoDB Search facet (MongoDB Search operador).

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

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

  3. Haga clic en Add.

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

{
"mappings": {
"dynamic": false,
"fields": {
"released": {
"type": "dateFacet"
}
}
}
}

El siguiente ejemplo de definición de índice indexa el campo released como tipos dateFacet y date para devolver los siguientes tipos de resultados para tus queries:

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

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

  3. Haga clic en Add.

  4. Repite el paso 1 y selecciona Date del menú desplegable Data Type.

  5. Haga clic en Add.

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

{
"mappings": {
"dynamic": false,
"fields": {
"released": [
{
"type": "dateFacet"
},
{
"type": "date"
}
]
}
}
}

Para aprender más sobre el colector facet y ver queries de ejemplo, consulte Ejemplos.

Para aprender a crear un índice con una definición de faceta y consultar ese índice utilizando el facet recopilador, consulte el tutorial Cómo usar facetas con la búsqueda de MongoDB.

Volver

fecha

En esta página