Overview
En esta guía, puedes aprender sobre las colecciones de series de tiempo en MongoDB y cómo interactuar con ellas en el driver de Java de MongoDB.
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() :
El nombre de la nueva colección a crear
Las TimeSeriesOptions para crear la colección en un objeto CreateCollectionOptions
MongoDatabase database = mongoClient.getDatabase("fall_weather"); TimeSeriesOptions tsOptions = new TimeSeriesOptions("temperature"); CreateCollectionOptions collOptions = new CreateCollectionOptions().timeSeriesOptions(tsOptions); // Creates a time series collection that stores "temperature" values over time 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().
Document commandResult = database.runCommand(new Document("listCollections", new BsonInt64(1))); List<String> keys = Arrays.asList("cursor"); // Prints information about the database's collections and views System.out.println("listCollections: " + commandResult.getEmbedded(keys, Document.class).toJson());
El resultado debería ser similar al siguiente:
{ "id": <some number>, "ns": "<db name>.$cmd.listCollections", "firstBatch": [ { "name": "<time series collection name>", "type": "timeseries", "options": { "expireAfterSeconds": <some number>, "timeseries": { ... } }, ... }, ... ] }
Realiza queries a una colección de series de tiempo
Para realizar consultas en una colección de series de tiempo, utilice las mismas convenciones que utiliza para obteniendo y agregando datos.
Nota
Funciones de ventana
La versión 5.0 de MongoDB introduce funciones de ventana en el pipeline de agregación. Puedes usar funciones de ventana para realizar operaciones en un rango contiguo de datos de series de tiempo. Para obtener más información, consulta nuestra guía de desarrolladores de agregados.