Overview
En esta guía, puedes aprender sobre colecciones de series temporales en MongoDB y sobre cómo interactuar con ellas en el controlador MongoDB Kotlin.
Las colecciones de series temporales almacenan de manera eficiente la secuencia de mediciones a lo largo del tiempo. Los datos de series de tiempo consisten en cualquier dato recopilado a lo largo del tiempo, metadatos que describen la medición y el momento de la medición.
Ejemplo | Medición | Metadata |
|---|---|---|
Datos de ventas | ganancia | Empresa |
Tasas de infección | Cantidad de personas infectadas | Ubicación |
Crear una colección de series de tiempo
Para crear una colección de series de tiempo, utiliza los siguientes parámetros createCollection() Método:
El nombre de la nueva colección a crear
Las TimeSeriesOptions para crear la colección en un objeto CreateCollectionOptions
val database = mongoClient.getDatabase("fall_weather") val tsOptions = TimeSeriesOptions("temperature") val collOptions = CreateCollectionOptions().timeSeriesOptions(tsOptions) database.createCollection("september2021", collOptions)
Importante
Las versiones anteriores a MongoDB 5.0 no pueden crear una colección de series de tiempo.
Para comprobar si has creado correctamente la colección, envía el
"listCollections" comando al método runCommand().
val commandResult = database.listCollections().toList() .find { it["name"] == "september2021" } println(commandResult?.toJson(JsonWriterSettings.builder().indent(true).build()))
{ "name": "september2021", "type": "timeseries", "options": { "timeseries": { "timeField": "temperature", "granularity": "seconds", "bucketMaxSpanSeconds": 3600 } }, "info": { "readOnly": false } }
Realiza queries a una colección de series de tiempo
Para query en una colección de series de tiempo, usa las mismas convenciones que usarías para obteniendo y agregando datos.
Nota
Funciones de ventana
MongoDB versión 5.0 introduce las funciones de ventana en la pipeline de agregación. Puede utilizar funciones de ventana para realizar operaciones en un intervalo contiguo de datos de series de tiempo.
Para obtener más información, consulta nuestra Guía para desarrolladores de agregados.