Dados de Time Series
Nesta página
Visão geral
Neste guia, você pode aprender a 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 |
Crie uma coleção de séries temporais
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 a função mongoc_database_create_collection()
:
O banco de dados de dados no qual criar a coleção
O nome da nova collection a ser criada
Um objeto
timeseries
que especifica a opçãotimeField
O exemplo seguinte cria uma coleção de séries temporais denominada october2024
no banco de banco de dados do fall_weather
com a opção timeField
definida para os campos do "timestamp"
:
// Initialize the MongoDB C Driver mongoc_init (); // Create a new client instance mongoc_client_t *client = mongoc_client_new ("<connection string>"); // Get a handle on the database mongoc_database_t *database = mongoc_client_get_database (client, "fall_weather"); // Create options for the time series collection bson_t *opts = BCON_NEW ( "timeseries", "{", "timeField", BCON_UTF8 ("timestamp"), "}"); // Create the time series collection bson_error_t error; mongoc_collection_t *collection = mongoc_database_create_collection (database, "october2024", opts, &error); if (!collection) { fprintf(stderr, "Error creating collection: %s\n", error.message); } bson_destroy (opts);
Para verificar se você criou com êxito a coleção de séries temporais, execute a função mongoc_database_find_collections_with_opts()
no banco de dados de dados fall_weather
e imprima os resultados:
// List collections in the database mongoc_cursor_t *cursor = mongoc_database_find_collections_with_opts (database, NULL); const bson_t *doc; while (mongoc_cursor_next (cursor, &doc)) { char *str = bson_as_canonical_extended_json (doc, NULL); printf ("%s\n", str); bson_free (str); } // Check for cursor errors if (mongoc_cursor_error (cursor, &error)) { fprintf (stderr, "Cursor error: %s\n", error.message); } mongoc_cursor_destroy (cursor);
{ "name" : "october2024", "type" : "timeseries", "options" : { "timeseries" : { "timeField" : "timestamp", "granularity" : "seconds", "bucketMaxSpanSeconds" : { "$numberInt" : "3600" } } }, "info" : { "readOnly" : false } } ...
Armazenar dados de série temporal
Você pode inserir dados em uma coleção de séries temporais usando as funções mongoc_collection_insert_one()
ou mongoc_collection_insert_many()
e especificando a medida, o carimbo de data e hora e os metadados em cada documento inserido.
Para saber mais sobre como inserir documentos em uma collection, consulte o guia Inserir documentos .
Exemplo
O exemplo a seguir insere dados de temperatura da cidade de Nova York na october2024
coleção de séries temporais 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 Fahrenheitlocation
, que armazena metadados de localizaçãotimestamp
, que armazena o tempo da coleta de medição
const bson_t *insert_doc = BCON_NEW ( "temperature", BCON_DOUBLE (70.0), "location", "{", "city", BCON_UTF8 ("New York"), "}", "timestamp", BCON_DATE_TIME (1633046400000)); if (!mongoc_collection_insert_one (collection, insert_doc, NULL, NULL, &error)) { fprintf(stderr, "Error inserting document: %s\n", error.message); }
Consultar dados de série temporal
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 .
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 do MongoDB.
Para saber mais sobre como realizar operações de agregação , consulte o guia Transforme seus dados com agregação .
Documentação da API
Para saber mais sobre as funções mencionadas neste guia, consulte a seguinte documentação da API: