Menu Docs
Página inicial do Docs
/ / /
Driver C++
/

Dados de Time Series

Nesta página

  • Visão geral
  • Crie uma coleção de séries temporais
  • Armazenar dados de série temporal
  • Consultar dados de série temporal
  • Informações adicionais

Neste guia, você pode aprender como usar o driver C++ 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, execute as seguintes ações:

  1. Crie um documento BSON que especifique as propriedades da sua coleção de séries temporais.

  2. Chame o método create_collection() e passe o nome da coleção e o documento BSON da série temporal como argumentos.

Este exemplo cria a coleção de séries temporais sept2023 no banco de dados precipitation com a seguinte configuração:

  • timeField está definido para "timestamp"

  • metaField está definido para "location"

  • granularity está definido para "minutes"

auto db = client["precipitation"];
auto ts_info = make_document(
kvp("timeseries", make_document(
kvp("timeField", "timestamp"),
kvp("metaField", "location"),
kvp("granularity", "minutes")
)));
auto collection = db.create_collection("sept2023", ts_info.view());

Para verificar se você criou com sucesso a time-series collection, execute o método list_collections() no reconhecimento de data center e imprima os resultados:

auto cursor = db.list_collections();
for(auto&& doc : cursor) {
std::cout << bsoncxx::to_json(doc) << std::endl;
}
{ "name" : "sept2023", "type" : "timeseries", "options" : { "timeseries" :
{ "timeField" : "timestamp", "metaField" : "location", "granularity" :
"minutes", "bucketMaxSpanSeconds" : 86400 } }, "info" : ... }

Você pode inserir dados em uma coleção de séries temporais usando os métodos insert_one() ou insert_many() 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 precipitação da cidade de Nova York na coleção de séries temporais sept2023 criada no exemplo exemplo uma coleção de séries temporais. Cada documento contém os seguintes campos:

  • precipitation_mm, que armazena medições de precipitação em milímetros

  • location, que armazena metadados de localização

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

auto collection = db["sept2023"];
std::vector<bsoncxx::document::value> ts_data;
ts_data.push_back(make_document(kvp("precipitation_mm", 0.5),
kvp("location", "New York City"),
kvp("timestamp", bsoncxx::types::b_date{std::chrono::milliseconds{1694829060000}})));
ts_data.push_back(make_document(kvp("precipitation_mm", 2.8),
kvp("location", "New York City"),
kvp("timestamp", bsoncxx::types::b_date{std::chrono::milliseconds{1695594780000}})));
auto result = collection.insert_many(ts_data);

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 encontrar mais informações sobre essas operações, consulte a seção Informações adicionais .

Para saber mais sobre os conceitos mencionados neste guia, consulte as seguintes entradas manuais do servidor:

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

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

Formatos de dados especializados