Operador de MongoDB $ CurrentDate

Operador de MongoDB $ CurrentDate
Data e hora são os ativos mais valiosos para todos os vivos na era de hoje. Se você não cumprir seus prazos em uma data e hora específicas, poderá falhar em muitas situações em sua vida, seja uma tarefa importante, um grande projeto ou um voo internacional para capturar. Portanto, é muito necessário lidar com suas prioridades com o gerenciamento de data e hora equilibrado. Assim, o ambiente MongoDB criou operadores tão úteis para gerenciar automaticamente a data e a hora de qualquer sistema. Um desses operadores é o operador "CurrentDate", especificado para obter a data e a hora atuais em seus campos de coleta. Neste artigo, você poderá aprender sobre como evitar a atualização manual da data através do operador “CurrentDate” do MongoDBB.

Crie a coleção de banco de dados

Para discutir o uso do operador "$ currentDate" em MongoDB, vamos dar uma olhada em alguns exemplos práticos. Antes disso, você deve ter uma configuração adequada do MongoDB no seu fim. Depois de configurá -lo, crie um novo banco de dados de "teste" em seu sistema. Os esquemas do MongoDB funcionam apenas em coleções com registros de formato de documentos. Portanto, finalmente criamos uma coleção simples de "tempo" no banco de dados "teste" para usar nos exemplos fornecidos. O método CreateCollection () de MongoDB é usado aqui com a palavra -chave "db" para esse fim. A coleção chamada "Time" é finalmente criada de acordo com a saída "OK: 1".

Teste> dB.CreateCollection ("Time")

Ao tentar a consulta do método "Find" para exibir os registros da coleção "Time" na interface da linha de comando do MongoDB, ficamos vazios, pois ainda não adicionamos nenhum registro.

Teste> dB.Tempo.encontrar()

Adicionar registros à coleção MongoDB

Portanto, é hora de adicionar alguns campos de dados na coleção "tempo" do banco de dados "teste". Esses registros devem conter pelo menos um campo utilizado para manter uma “data” atual. Assim, a função InsertMany do "MongoDB" é executada para adicionar um total de 3 registros na coleção "Time" do banco de dados "teste". Através desse processo, o shell da linha de comando mongodb é usado para a execução da consulta "db" com o nome de uma coleção que é "teste". Cada um dos registros contém três campos enquanto o último campo, o "DateTime", para manter a data atual. Adicionamos um carimbo de data / hora fictício para executar a consulta. Ao executar esta consulta no shell do MongoDB, recebemos a mensagem de reconhecimento, que é mostrada na seguinte foto em anexo:

Teste> dB.Tempo.InsertMany ([id: 1, país: "America", DT: Timestamp (166471552, 3),
… Id: 2, país: "China", dt: Timestamp (144471552, 3),
… Id: 3, país: "Inglaterra", dt: Timestamp (1433471452, 3)])

Para dar uma olhada adequada aos registros adicionados para a coleção "tempo" específica em MongoDB, você deve usar a consulta "Find" da mesma maneira que fizemos ao criar uma coleção. A foto de saída para a consulta listada a seguir mostra três registros separados, cada um com o mesmo nome dos campos:

Teste> dB.Tempo.encontrar()

Exemplo 1: Defina a data atual para um único registro

Agora que terminamos com a adição de alguns registros na coleção "Time" do banco de dados, modificamos o campo "dt" para converter seu valor na data atual. Portanto, a função updateOne () do MongoDB é eliminada no MongoDB "DB" Shell Instrução. Certifique -se de usar o nome correto para uma coleção ser modificada. Esta consulta começa com o campo de identificação como "ID" para que um registro seja atualizado. Junto com isso, o operador $ currentDate é fundido para definir o campo "dt" como "true", definindo a data atual. Ao executar esta instrução, obtemos o reconhecimento "verdadeiro" e a contagem de modificações como "1".

Teste> dB.Tempo.updateOne (id: 1, $ currentDate: dt: true)

Agora que o campo "dt" do primeiro registro da coleção "time" é atualizado através do operador "$ currentDate", analisamos sua versão atualizada no Shell MongoDB. Assim, depois de mencionar o "ID: 1" na consulta de função "Find", obtemos o registro modificado em nossa tela de casca. O valor do campo "dt" agora está definido para a data atual.

Teste> dB.Tempo.encontre (id: 1)

Exemplo 2: Defina a data como registro de carimbo de data / hora para um único registro

Agora, avançamos em direção à ilustração para converter o valor simples do campo de data atual para seu registro de data e hora específicos relacionados da maneira mais simples. Para isso, precisamos garantir que o registro dentro do campo relacionado a data deve conter um valor de data com o formato padrão de data de data. A saída do exemplo anterior mostra que o campo "dt" tem um formato de data para data padrão. Nesse caso, usamos a função updateOne () para modificar o campo "dt" de uma coleção "time". A consulta começa com a palavra -chave "db" em MongoDB, seguida pelo produto DOT com a coleção "time" e a função updateOne (). O tipo de campo "dt" está definido como formato BSON "Timestamp". Uma atualização é refletida.

Teste> dB.Tempo.updateOne (id: 1, $ currentDate: dt: $ type: "timestamp")

Depois de encontrar os três registros da coleção "Time" usando a função "Find" na consulta "DB", recebemos o primeiro registro formatado de volta ao seu formato original de registro de data e hora, o mesmo que os outros registros.

Teste> dB.Tempo.encontrar()

Exemplo 3: Timestamp para a data atual em vários registros

O exemplo de exemplo anterior ilustra que agora temos o valor do campo "dt" no formato do tipo "registro de data e hora" de uma data para todos os três registros da coleção. Precisamos dar uma olhada em uma maneira de converter todos os formatos do tipo "Timestamp" em um formato de data atual padrão de uma só vez, para todos os registros. O método "Updatemany" do MongoDB é usado aqui. O operador "$ currentDate" é aplicado ao campo "dt", definindo seu valor como "true" para todos os registros "". Esta operação é bem -sucedida à medida que a saída é exibida:

Teste> dB.Tempo.updatemany (, $ currentDate: dt: true)

Depois de executar a instrução para encontrar, todos os três registros da coleção "Time", exibidos na imagem, mostram que o registro de data e hora é formatado no formato de data padrão.

Teste> dB.Tempo.encontrar()

Conclusão

Depois de prestar atenção a este guia, você poderá aprender rapidamente sobre o básico do uso do operador "CurrentDate" em MongoDBB. As ilustrações fornecidas demonstram o uso do operador "$ currentDate" para definir qualquer valor de campo na data atual e formatar a data atual do seu registro de data e hora. Os exemplos contêm a configuração do operador "$ currentDate" para registros únicos, bem como para vários registros.