Docs Menu
Docs Home
/ /

Datos de Time Series

En esta guía, puede aprender a utilizar el controlador Scala para almacenar e interactuar con datos de series de tiempo.

Los datos de series de tiempo se componen de los siguientes componentes:

  • Cantidad medida

  • Marca de tiempo para la medición

  • Metadatos que describen la medición

La siguiente tabla describe situaciones de muestra para las que podría almacenar datos de series de tiempo:

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

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 Server 5.0 o posterior.

Puede crear una colección de series temporales para almacenar datos de series temporales. Para crear una colección de series temporales, pase los siguientes parámetros a createCollection() :

  • Nombre de la nueva colección a crear

  • CreateCollectionOptions objeto con el TimeSeriesOptions establecido usando el método timeSeriesOptions()

Este ejemplo crea la colección de series de tiempo october2024 en la base de datos fall_weather con la opción timeField establecida en el campo "timestamp" y la opción metaField establecida en el campo "location":

val database = mongoClient.getDatabase("fall_weather")
val tsOptions = TimeSeriesOptions("timestamp").metaField("location")
val collectionOptions = CreateCollectionOptions().timeSeriesOptions(tsOptions)
val createObservable = database.createCollection("october2024", collectionOptions)
Await.result(createObservable.toFuture(), Duration(10, TimeUnit.SECONDS))

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

val listObservable = database.listCollections()
val list = Await.result(listObservable.toFuture(), Duration(10, TimeUnit.SECONDS))
val jsonSettings = JsonWriterSettings.builder().indent(true).build()
list.foreach(collection => {
println(collection.toJson(jsonSettings))
})
{
"name": "october2024",
"type": "timeseries",
"options": {
"timeseries": {
"timeField": "temperature",
"granularity": "seconds",
"bucketMaxSpanSeconds": 3600
}
},
"info": {
"readOnly": false
}
}
...

Puede insertar datos en una colección de series de tiempo utilizando los métodos insertOne() o insertMany() y especificando la medición, la marca de tiempo y los metadatos en cada documento insertado.

Tip

Para obtener más información sobre cómo insertar documentos en una colección, consulte la Guía deinserción de documentos.

Este ejemplo inserta datos de temperatura de la ciudad de Nueva York en la october2024 colección de series temporales creada en el ejemplo "Crear una colección de series temporales". Cada documento contiene los siguientes campos:

  • temperature, que almacena mediciones de temperatura en grados Fahrenheit

  • location, que almacena metadatos de ubicación

  • timestamp, que almacena el tiempo de recolección de mediciones

val collection = database.getCollection("october2024")
val temperatures = Seq(
Document("timestamp" -> BsonDateTime(1727755200000L), "temperature" -> 54, "location" -> "New York City"),
Document("timestamp" -> BsonDateTime(1727841600000L), "temperature" -> 55, "location" -> "New York City"),
)
val insertObservable = collection.insertMany(temperatures)
Await.result(insertObservable.toFuture(), Duration(10, TimeUnit.SECONDS))

Puede utilizar la misma sintaxis y convenciones para consultar los datos almacenados en 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 conocer más sobre los conceptos mencionados en esta guía, consulta las siguientes entradas del manual de servidor de MongoDB:

Para obtener más información sobre cómo realizar operaciones de lectura, consulte Leer datos.

Para obtener más información sobre cómo realizar operaciones de agregación, consulte la guía Transforme sus datos con agregación.

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

Volver

Ejecute un comando

En esta página