Coleções de Time Series
Nesta página
Visão geral
Neste guia, você pode aprender a usar a biblioteca PHP do MongoDB para criar e interagir com coleções de séries temporais. Essas collections armazenam dados de série temporal, que 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 uma array de opções para o método MongoDB\Database::createCollection()
que define a opção timeseries
. Ao definir esta opção, inclua os seguintes campos:
timeField
: especifica o campo que armazena um carimbo de data/hora em cada documento de série temporal.metaField
: especifica o campo que armazena metadados em cada documento de série temporal .granularity
: especifica o tempo aproximado entre carimbos de data/hora consecutivos. Os valores possíveis são'seconds'
,'minutes'
e'hours'
.
Exemplo
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'
$db = $client->precipitation; $options = [ 'timeseries' => [ 'timeField' => 'timestamp', 'metaField' => 'location', 'granularity' => 'minutes', ] ]; $collection = $db->createCollection('sept2023', $options);
Para verificar se você criou com sucesso a coleção de séries temporais, chame o método MongoDB\Database::listCollections()
no banco de banco de dados e imprima os resultados:
$cursor = $db->listCollections(); foreach ($cursor as $collectionInfo) { print_r($collectionInfo) . PHP_EOL; }
MongoDB\Model\CollectionInfo Object ( [name] => sept2023 [type] => timeseries [options] => Array ( … ) [info] => Array ( … ) ) MongoDB\Model\CollectionInfo Object ( [name] => system.buckets.sept2023 [type] => collection [options] => Array ( … ) [info] => Array ( … ) )
Observação
O MongoDB armazena dados do sistema associados a coleções de séries temporais no namespace <database>.system.buckets
. Para obter mais informações, consulte banco de dados.system.buckets no manual do MongoDB Server .
Inserir dados de série temporal
Você pode inserir dados em uma coleção de séries temporais usando os métodos MongoDB\Collection::insertOne()
ou MongoDB\Collection::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 .
Exemplo
Este exemplo insere dados de precipitação da cidade de Nova York na coleção de séries temporais sept2023
criada no exemplo Criar 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ímetroslocation
, que armazena metadados de localizaçãotimestamp
, que armazena o tempo da coleta de medição
$collection = $db->sept2023; $result = $collection->insertMany( [ [ 'precipitation_mm' => 0.5, 'location' => 'New York City', 'timestamp' => new MongoDB\BSON\UTCDateTime(1694829060000), ], [ 'precipitation_mm' => 2.8, 'location' => 'New York City', 'timestamp' => new MongoDB\BSON\UTCDateTime(1695594780000), ], ] );
Coleções de séries temporais de query
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 .
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 .
Documentação da API
Para saber mais sobre os métodos mencionados neste guia, consulte a seguinte documentação da API: