Docs Menu
Docs Home
/ /

Colecciones de series de tiempo

En esta guía, puede aprender sobre las colecciones de series de tiempo en MongoDB y cómo interactuar con ellas en MongoDB Go Driver.

Las colecciones de series temporales almacenan eficientemente secuencias de mediciones a lo largo de un período. La colección consta de datos de series temporales con la siguiente información:

  • Datos recopilados a lo largo del tiempo

  • Metadatos que describen la medición

  • Fecha de la medición

Ejemplo
Medición
Metadata

Datos de ventas

Ingresos

Empresa

Tasas de infección

Cantidad de personas infectadas

Ubicación

Importante

Las colecciones de series de tiempo requieren MongoDB 5.0 o posterior.

Para crear una colección de series de tiempo, pase los siguientes parámetros a la CreateCollection() :

  • El nombre de la nueva colección a crear

  • El objeto TimeSeriesOptions que especifica al menos el campo de tiempo

El siguiente ejemplo crea la colección de series de tiempo march2022 en la base de datos db con temperature como campo de tiempo:

db := client.Database("db")
// Creates a time series collection that stores "temperature" values over time
tso := options.TimeSeries().SetTimeField("temperature")
opts := options.CreateCollection().SetTimeSeriesOptions(tso)
db.CreateCollection(context.TODO(), "march2022", opts)

Para comprobar si ha creado la colección, envíe el comando "listCollections" al método RunCommand():

package main
import (
"context"
"encoding/json"
"fmt"
"log"
"os"
"go.mongodb.org/mongo-driver/v2/bson"
"go.mongodb.org/mongo-driver/v2/mongo"
"go.mongodb.org/mongo-driver/v2/mongo/options"
)
func main() {
var uri string
if uri = os.Getenv("MONGODB_URI"); uri == "" {
log.Fatal("You must set your 'MONGODB_URI' environment variable. See\n\t https://www.mongodb.com/es/docs/drivers/go/current/usage-examples/")
}
client, err := mongo.Connect(options.Client().ApplyURI(uri))
if err != nil {
panic(err)
}
defer client.Disconnect(context.TODO())
db := client.Database("myDB")
// Creates a command to list collections
command := bson.D{{"listCollections", 1}}
var result bson.M
// Runs the command on the database
commandErr := db.RunCommand(context.TODO(), command).Decode(&result)
if commandErr != nil {
panic(commandErr)
}
// Prints the command results
output, outputErr := json.MarshalIndent(result, "", " ")
if outputErr != nil {
panic(outputErr)
}
fmt.Printf("%s\n", output)
}
{
...
"cursor": {
"firstBatch": [
{
"info": {
"readOnly": false
},
"name": "march2022",
"options": {
"timeseries": {
...
}
},
"type": "timeseries"
},
...
}

Para consultar una colección de series de tiempo, utilice las mismas convenciones que utilizaría para recuperar y agregar datos.

Para obtener más información sobre las operaciones mencionadas, consulte las siguientes guías:

  • Colecciones de series de tiempo

  • Limitaciones de la recopilación de series temporales

  • Ejecutar un comando Ejemplo: Archivo completo

  • Buscar documentos

Para obtener más información sobre cualquiera de los métodos o tipos discutidos en esta guía, consultar la siguiente documentación de la API:

Volver

Ejecute un comando de base de datos

En esta página