Overview
En esta guía, puedes aprender cómo usar el controlador Rust para crear e interactuar con colecciones de series temporales. Las colecciones de series temporales almacenan de manera eficiente secuencias cronológicas de mediciones a lo largo de un período de tiempo. Cada documento en una colección de series de tiempo contiene la siguiente información:
Cantidad que se mide a lo largo del tiempo
Metadatos que describen la medición
Marca de tiempo para la medición
La siguiente tabla describe algunas situaciones de muestra para las cuales se podrían almacenar datos en una colección de series de tiempo. Cada fila describe la situación, la cantidad medida y los metadatos en cada documento:
Situación | Cantidad medida | Metadata |
|---|---|---|
Registro de ventas mensuales por industria | Ganancia en USD | Empresa, país |
Seguimiento de los cambios meteorológicos | Nivel de precipitación | Ubicación, tipo de sensor |
Registro de fluctuaciones en los precios de la vivienda | Precio de alquiler mensual | Ubicación, moneda |
Esta guía incluye las siguientes secciones:
Crear una colección de series de tiempo describe la sintaxis para crear una colección de series de tiempo y proporciona un código de ejemplo
query una colección de series de tiempo describe cómo realizar operaciones en colecciones de series de tiempo
Información adicional proporciona enlaces a recursos y documentación de la API para los tipos y métodos mencionados en esta guía
Crear una colección de series de tiempo
Importante
Versión del servidor para colecciones de series de tiempo
Para crear e interactuar con colecciones de series de tiempo, debe estar conectado a una implementación que ejecute MongoDB 5.0 o posterior.
Para crear una colección de series de tiempo, realiza las siguientes acciones:
Crear un(a)
TimeseriesOptionsinstancia que especifica las propiedades de tu colección de series de tiempo.Crea una instancia de
CreateCollectionOptionsy configura el valor del campotimeseriesen tu instancia deTimeseriesOptions.Pase la instancia de
CreateCollectionOptionsal métodocreate_collection(). También debe pasar el nombre de la colección como parámetro.
Ejemplo
Este ejemplo crea la colección de series de tiempo sept2023 en la base de datos precipitation con la siguiente configuración:
time_fieldestá configurado para"precipitation_mm"meta_fieldestá configurado para"location"granularityse establece en minutos
let db = client.database("precipitation"); let ts_opts = TimeseriesOptions::builder() .time_field("precipitation_mm".to_string()) .meta_field(Some("location".to_string())) .granularity(Some(TimeseriesGranularity::Minutes)) .build(); let coll_opts = CreateCollectionOptions::builder() .timeseries(ts_opts) .build(); db.create_collection("sept2023", coll_opts).await?;
Para verificar que se ha creado correctamente la colección de series de tiempo, ejecutar el método list_collections() en la base de datos e imprimir los resultados:
let mut coll_list = db.list_collections(None, None).await?; while let Some(c) = coll_list.try_next().await? { println!("{:#?}", c); }
CollectionSpecification { name: "sept2023", collection_type: Timeseries, options: CreateCollectionOptions { ... timeseries: Some( TimeseriesOptions { time_field: "precipitation_mm", meta_field: Some( "location", ), granularity: Some( Minutes, ), }, ), ... }, ... }
Realiza queries a una colección de series de tiempo
Puedes usar la misma sintaxis y convenciones para consultar una colección de series temporales como cuando realizas operaciones de lectura o agregación en otras colecciones. Para encontrar más información sobre estas operaciones, consulte la sección Información adicional.
Información Adicional
Para aprender más sobre los conceptos mencionados en esta guía, consulta las siguientes entradas del manual del servidor:
Crear y ejecutar un query en una colección de series de tiempo
Establece la granularidad para los datos de series de tiempo
Para obtener más información sobre cómo crear colecciones, consulta la guía sobre Bases de datos y colecciones.
Para obtener más información sobre cómo realizar operaciones de lectura, consulta las guías de la sección Operaciones de lectura.
Documentación de la API
Para obtener más información sobre los métodos y tipos mencionados en esta guía, vea la siguiente documentación de la API: