Coleções de Time Series
Nesta página
Visão geral
Neste guia, você pode aprender sobre coleções de séries temporais no MongoDB e como interagir com elas no Driver Go do MongoDB.
A coleção de séries temporais armazena sequências de medições de forma eficiente ao longo de um período de tempo. A collection consiste em dados de time-series com as seguintes informações:
Dados coletados ao longo do tempo
Metadados que descrevem a medição
Data da medição
Exemplo | Medição | Metadata |
---|---|---|
Dados de vendas | receita | Empresa |
Taxas de infecção | Quantidade de pessoas infectadas | Localização |
Crie uma coleção de séries temporais
Importante
As coleções de séries temporais exigem MongoDB 5.0 ou posterior.
Para criar uma coleção de séries temporais, passe os seguintes parâmetros para o método CreateCollection()
:
O nome da nova collection a ser criada
O objeto
TimeSeriesOptions
especificando pelo menos o campo de tempo
Exemplo
O exemplo seguinte cria a march2022
coleção de séries temporais db
do com o temperature
como o campo de tempo:
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 verificar se você criou a coleção, envie o comando "listCollections"
para o 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/pt-br/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" }, ... }
Consultar uma Coleta de Seqüência Temporal
Para fazer query de uma coleção de séries temporais, use as mesmas convenções que usaria para recuperar e agregar dados.
Informações adicionais
Para saber mais sobre as operações mencionadas, consulte os seguintes guias:
Documentação da API
Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API: