Docs Menu
Docs Home
/ /

Colecciones de series de tiempo

En esta guía, aprenderá a usar el controlador de Rust para crear e interactuar con colecciones de series temporales. Las colecciones de series temporales almacenan eficientemente secuencias cronológicas de mediciones a lo largo de un período. Cada documento de una colección de series temporales 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 algunos ejemplos de situaciones en las que se podrían almacenar datos en una colección de series temporales. Cada fila describe la situación, la cantidad medida y los metadatos de cada documento:

Situación
Cantidad medida
Metadata

Registro de ventas mensuales por industria

Ingresos 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

  • Consultar 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 API para los tipos y métodos mencionados en esta guía.

Importante

Versión de servidor para colecciones de series temporales

Para crear e interactuar con colecciones de series temporales, debe estar conectado a una implementación que ejecute MongoDB 5.0 o posterior.

Para crear una colección de series temporales, realice las siguientes acciones:

  1. Crear una TimeseriesOptions instancia que especifica las propiedades de su colección de series de tiempo.

  2. Llame al método create_collection() y pase el nombre de la colección como parámetro.

  3. Encadena el método timeseries() al método create_collection(). Pasa tu instancia TimeseriesOptions como parámetro a timeseries().

Este ejemplo crea la colección de series temporales sept2023 en la base de datos precipitation con la siguiente configuración:

  • time_field está configurado para "precipitation_mm"

  • meta_field está configurado para "location"

  • granularity se 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();
db.create_collection("sept2023")
.timeseries(ts_opts)
.await?;

Para verificar que ha creado correctamente la colección de series de tiempo, ejecute el método list_collections() en la base de datos e imprima los resultados:

let mut coll_list = db.list_collections().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,
),
},
),
...
},
...
}

Puede utilizar la misma sintaxis y convenciones para consultar una colección de series temporales que para realizar operaciones de lectura o agregación en otras colecciones. Para obtener más información sobre estas operaciones, consulte la sección "Información adicional".

Para aprender más sobre los conceptos mencionados en esta guía, consulta las siguientes entradas del manual del servidor:

Para obtener más información sobre cómo crear colecciones, consulte la guía en Bases de datos y colecciones.

Para obtener más información sobre cómo realizar operaciones de lectura, consulte las guías en la sección Operaciones de lectura.

Para obtener más información sobre los métodos y tipos mencionados en esta guía, consulte la siguiente documentación de API:

Volver

Transacciones

En esta página