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

Colecciones de series de tiempo

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

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

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:

  1. Crear un(a) TimeseriesOptions instancia que especifica las propiedades de tu colección de series de tiempo.

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

  3. Encadena el método timeseries() al método create_collection(). Pase su instancia de TimeseriesOptions como parámetro a timeseries().

Este ejemplo crea la colección de series de tiempo 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 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().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, 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.

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:

Volver

Transacciones

En esta página