Puedes utilizar la búsqueda de MongoDB dateFacet Tipo para indexar valores de fecha para facetado.
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 aplicar facetas a campos de cadena en documentos incrustados, debe indexar los campos principales como tipo de documento. Al aplicar facetas a un campo de cadena dentro de documentos incrustados, MongoDB Search devuelve el recuento de facetas solo para el número de documentos principales coincidentes.
La búsqueda de MongoDB no indexa dinámicamente los valores de fecha para la facetación. Debe usar asignaciones estáticas para indexar los valores de fecha para la facetación. Puede usar el Editor visual o el Editor JSON de la interfaz de usuario de Atlas para indexar los campos de fecha como de number tipo.
dateFacet Limitaciones de tipo
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 la facetación de fechas en campos indexados como parte de un campo
embeddedDocuments.Nota
Para solicitar esta función y brindar sus comentarios, utilice el Motor de comentarios de MongoDB.
Definir el índice para el dateFacet tipo
Para definir el índice del tipo dateFacet, elija su método de configuración preferido en la interfaz de usuario de Atlas y luego seleccione la base de datos y la colección.
Haga clic Refine Your Index para configurar su índice.
En la sección Field Mappings, haz clic en Add Field Mapping para abrir la ventana Add Field Mapping.
Haga clic en Customized Configuration.
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.Haga Data Type clic en el menú desplegable y DateFacet seleccione. Para obtener más información sobre este tipo, consulte Propiedades del campo.
Haga clic en Add.
Lo siguiente es el SintaxisJSON para el dateFacet tipo. Reemplace la definición de índice predeterminada por la siguiente. Para obtener más información sobre los campos, consulte Propiedades de campo.
{ "mappings": { "dynamic": true|false, "fields": { "<field-name>": { "type": "dateFacet" } } } }
Configurar dateFacet propiedades del campo
El tipo de búsqueda dateFacet de MongoDB toma el siguiente parámetro:
Nombre del campo de la interfaz de usuario | JSON Option | Tipo | Necesidad | Descripción |
|---|---|---|---|---|
Data Type |
| string | Requerido | Etiqueta legible por humanos que identifica este tipo de campo. El valor debe ser |
Pruebe un ejemplo para dateFacet el tipo
El siguiente ejemplo de definición de índice utiliza la colección sample_mflix.movies. Si ya tiene los datos de muestra cargados en su clúster, puede usar el Editor visual o el Editor JSON de la interfaz de usuario de Atlas para configurar el índice. Después de seleccionar el método de configuración preferido, seleccione la base de datos y la colección, y refine el índice para agregar asignaciones de campos.
La siguiente definición de índice de ejemplo indexa el released campo como el tipo de búsqueda MongoDB dateFacet para admitir consultas en ese campo mediante la búsqueda MongoDB facet (operador de búsqueda MongoDB).
En la ventana Add Field Mapping, selecciona released del menú desplegable Field Name.
Haz clic en el desplegable Data Type y selecciona DateFacet.
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" } } } }
La siguiente definición de índice de ejemplo indexa el campo released como los tipos dateFacet y date para devolver los siguientes tipos de resultados para sus consultas:
Resultados de metadatos para consultas que utilizan MongoDB Search
facet(Operador de búsqueda MongoDB).Resultados de búsqueda para consultas que utilizan operadores de búsqueda de MongoDB como cerca, igual y rango.
En la ventana Add Field Mapping, selecciona released del menú desplegable Field Name.
Haz clic en el desplegable Data Type y selecciona DateFacet.
Haga clic en Add.
Repita 1 el paso y seleccione Date del Data Type menú desplegable.
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" } ] } } }
Obtén más información
Para obtener más información sobre el facet recopilador y ver consultas 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.