Exemplo 1: exiba os valores de campo exclusivos de vários registros
Antes de fazer qualquer coisa no shell do MongoDB, verifique se o seu banco de dados possui sua coleção dentro dele que também possui alguns registros; Coleções funcionam como tabelas em MongoDB. Se você não tiver um, gerar-o dentro da ferramenta de linha de comando mongodb usando o método simples de "createCollection" em sua instrução que começa com a palavra-chave "db". O argumento de um método CreateCollection () toma o nome de uma coleção como uma string "única".
Teste> dB.createCollection ("exclusivo")Sem ter nenhum registro no banco de dados, não conseguiremos realizar as transações através de consultas. Portanto, após a criação de uma coleção "exclusiva" vazia em MongoDB, inserimos alguns registros. Para a inserção de vários registros por vez, a função "Inserir" do MongoDB pode ser expulsa com o nome da coleção "exclusiva". Para inserir vários registros, mantenha todos os registros entre os colchetes “[]” enquanto usa os colchetes "" para separar um do outro dentro dos colchetes quadrados. Por enquanto, inserimos um total de 8 registros, cada um com três campos - id, nome e idade. Esses registros são adicionados perfeitamente, pois a saída exibida na foto em anexo demonstra o reconhecimento. Existem repetidos valores "mesmos" para o campo "Nome" e o campo "Idade" em algum lugar desses 8 registros.
Teste> dB.Exclusivo.insert ([id: 1, nome: "ana", idade: 40, id: 2, nome: "bryan", idade: 40,Você pode encontrar e exibir os registros recém -inseridos da sua coleção de banco de dados com muita facilidade, lançando a função "Localizar" na instrução. Esta função usa a palavra -chave "db" seguida pelo nome "exclusivo" da coleção e pela função "Find" com os colchetes vazios.
Teste> dB.Exclusivo.encontrar()Agora que temos uma coleção com muitos registros, podemos usar a coleção "única" em nossa ilustração para discutir o uso de uma consulta "distinta". Portanto, a consulta começa com a mesma palavra -chave "db" seguida pelo nome da coleção "exclusivo" e termina com a função "distinta". A função Distinct () contém o nome de um campo específico de uma coleção em seu argumento para obter e exibir os registros exclusivos que não são repetidos mesmo uma vez. Digamos que queremos dar uma olhada em todos os registros exclusivos do campo "Nome" da coleção "exclusiva". Portanto, usamos o campo "Nome" no argumento da função "distinta" dentro da seguinte instrução listada. A saída desta consulta exibe apenas os nomes do campo "Nome" que são únicos. Se um nome for repetido muitas vezes, ele o exibe apenas uma vez na saída como um cruzamento.
Teste> dB.Exclusivo.distinto ("nome");A mesma etapa é repetida para o campo "Age" da coleção "única" para obter todas as idades exclusivamente sem nenhuma repetição. Em troca, obtemos quatro valores únicos em uma linha.
Teste> dB.Exclusivo.distinto ("idade");Exemplo 2: exiba os registros exclusivos de vários registros aninhados
Agora que terminamos os registros de linha única para obter os valores únicos do campo específico de uma coleção, estamos prontos para obter os valores exclusivos dos registros aninhados de uma coleção "exclusiva", que é um documento em um campo de documento. Para isso, atualizamos a coleção "exclusiva" e adicionamos quatro novos registros, cada um contendo o valor de "dados" aninhados dentro dela. O campo "Data" contém dois campos dentro dele e faz um documento aninhado em MongoDB. A mesma função "inserir" é usada na consulta com o nome da coleção "exclusivo". Todos esses quatro registros são adicionados com sucesso. A saída de reconhecimento é demonstrada na seguinte imagem:
Teste> dB.Exclusivo.insert ([id: 9, nome: "tim", dados: idade: 40, pontuação: 50,Depois de executar a instrução de função "Find" do MongoDB, obtemos os itens de uma coleção "exclusiva" na tela da concha em ordem crescente do campo "ID". Descendo na lista de 12 registros, encontramos os 4 registros recentemente adicionados nesta saída, conforme exibido no seguinte. Agora que você deu uma olhada nos últimos 4 registros da coleção exclusiva e tem uma experiência na identificação dos registros exclusivos por meio de registros de linha única, você aprenderá sobre como obter os registros exclusivos dos campos do tipo documento.
Teste> dB.Exclusivo.encontrar()Digamos que você queira obter todos os valores exclusivos do campo "pontuação" de um campo de "dados" do tipo documental em uma coleção "exclusiva". Para usar a função "distinta" para identificar e exibir todos os valores uma vez (não repetidos), temos que usar o nome de um campo de "dados" de formato de documento junto com seu campo interno a ser exibido, que é a "pontuação ”. Ambos os campos estão conectados através de um "ponto" para obter os valores do campo interno através de seu nome de campo externo. A sintaxe geral de uma consulta é a mesma - a palavra -chave "db" seguida por um nome de coleção "exclusivo" e a função "distinta" com seus argumentos. A saída para a execução desta consulta exibe apenas dois valores do restante dos quatro, escolhendo apenas 1 valor dos registros duplicados.
Teste> dB.Exclusivo.distinto ("dados.Pontuação")A mesma coisa acontece para o campo "Age" que reside dentro do campo "Dados" do tipo documental. A saída a seguir mostra apenas dois registros do restante dos quatro registros:
Teste> dB.Exclusivo.distinto ("dados.Idade")Conclusão
Ao comparar nossos cenários da vida real com o campo de programação, experimentamos a jornada mais simples e fácil de obter um conhecimento sobre a função "distinta" do MongoDB neste artigo. O parágrafo introdutório do guia tem tudo a ver com essa comparação e o uso da função distinta () no ambiente do MongoDB. Através das ilustrações demonstradas, agora sabemos como usar a função distinta para obter os valores apenas uma vez em um shell.