Menu Docs
Página inicial do Docs
/ /

Dados de Time Series

Neste guia, veja como usar o driver Scala para armazenar e interagir com dados de séries temporais.

Os dados de série temporal são compostos pelos seguintes componentes:

  • Quantidade medida

  • Carimbo de data/hora para a medição

  • Metadados que descrevem a medição

A tabela a seguir descreve situações de exemplo para as quais você pode armazenar dados de série temporal:

Situação
Quantidade medida
Metadata

Registro de vendas mensais por setor

receita em dólares

Empresa, país

Rastreando mudanças no tempo

Nível de precipitação

Localização, tipo de sensor

Registro de flutuações nos preços da casa própria

Preço do aluguel mensal

Localização, moeda

Importante

Versão do servidor para coleção de séries temporais

Para criar e interagir com coleções de séries temporais, você deve estar conectado a uma implantação executando o MongoDB Server 5.0 ou posterior.

Você pode criar uma coleção de séries temporais para armazenar dados de séries temporais. Para criar uma coleção de séries temporais, passe os seguintes parâmetros para o método createCollection() :

  • Nome da nova coleção a ser criada

  • objeto CreateCollectionOptions com o conjunto TimeSeriesOptions utilizando o método timeSeriesOptions()

Este exemplo cria a coleção de séries temporais october2024 no banco de dados fall_weather com a opção timeField definida para o campo "timestamp" e a opção metaField definida para o 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 se você criou com sucesso a time-series collection, execute o método listCollections() no reconhecimento de data center e imprima os 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
}
}
...

Você pode inserir dados em uma coleção de séries temporais usando os métodos insertOne() ou insertMany() e especificando a medida, o carimbo de data/hora e os metadados em cada documento inserido.

Dica

Para saber mais sobre como inserir documentos em uma collection, consulte o guia Inserir documentos .

Este exemplo insere dados de temperatura da cidade de Nova York na coleção de séries temporais october2024 criada no exemplo Criar uma coleção de séries temporais. Cada documento contém os seguintes campos:

  • temperature, que armazena medições de temperatura em graus Fahrenheit

  • location, que armazena metadados de localização

  • timestamp, que armazena o tempo da coleta de medição

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

Você pode usar a mesma sintaxe e convenções para consultar os dados armazenados em uma coleção de séries temporais que você usa ao executar operações de leitura ou agregação em outras collections. Para saber mais sobre essas operações, consulte a seção Informações adicionais .

Para saber mais sobre os conceitos mencionados neste guia, consulte as seguintes entradas de manual do MongoDB Server :

Para saber mais sobre como realizar operações de leitura, consulte Ler dados.

Para saber mais sobre como realizar operações de agregação , consulte o guia Transforme seus dados com agregação .

Para saber mais sobre os métodos mencionados neste guia, consulte a seguinte documentação da API:

Voltar

Execute um comando

Nesta página