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

ganancia

Empresa

Tasas de infección

Cantidad de personas infectadas

Ubicación

Importante

Las colecciones de series temporales requieren MongoDB 5.0 o posterior.

Para crear una colección de series de tiempo, utiliza los siguientes parámetros 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 se creó la colección, envía 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 query una colección de series de tiempo, utiliza las mismas convenciones que utilizarías para recuperar y agregar datos.

Para aprender más sobre las operaciones mencionadas, consulte las siguientes guías:

  • Colecciones de series de tiempo

  • Limitaciones de la colección de series de tiempo

  • 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