Criar coleção
Vamos procurar os bancos de dados já existentes em nosso mongodb primeiro. Para isso, vamos abrir a concha do MongoDB e executar sua instrução "Show DBS" na área de consulta, conforme fornecido. A saída para esta instrução mostra 3 bancos de dados internos com tamanhos diferentes enquanto trabalhamos em um banco de dados de "teste" dummy.
Teste> Mostrar DBSUsando a instrução de "uso" junto com o nome do banco de dados "teste", você pode mudar para qualquer banco de dados, como fizemos abaixo. A saída mostra que já estamos usando o banco de dados "teste".
Teste> Usar testeVamos exibir todas as coleções disponíveis de um banco de dados de "teste" através da consulta "Show Collections". O detalhe da saída não mostra nada, pois não temos coleção agora.
Teste> Mostrar coleções;Estamos criando uma nova coleção chamada "teste" no banco de dados "teste" que será usado mais adiante. Para isso, tentamos a consulta "db" com a função "createCollection" do MongoDB. O status de saída "OK: 1" mostra que a coleção é criada com sucesso.
Teste> dB.createCollection ("teste")Exemplo # 01:
É hora de começar com o nosso primeiro exemplo adicionando alguns registros à coleção "teste" que acabamos de criar. Para fazer isso, vamos usar a função "inserir" do mongodb na mesma consulta "db" junto com o nome de uma coleção "teste". O registro que adicionamos contém 3 campos no total. Dois dos campos estão na forma de matriz I.e "PersonalDetails" e "AcademicRecord" contém subcampos. O uso de colchetes encaracolados mostra o número total de registros em uma coleção e o número total de campos dentro de um campo específico. Os registros foram adicionados perfeitamente.
Teste> dB.Teste.insert (name: "tina", personalDetails: [idade: 44, e -mail: "[email protected] "],Para exibir todos os registros exibidos no shell do MongoDB, usaremos a função find () dentro da mesma instrução após o nome da coleção que também segue a função foreach (). A função foreach () imprime os registros no formato JSON, como mostrado abaixo.
Teste> dB.Teste.encontrar().foreach (printjson)É hora de usar o operador "tamanho" para exibir apenas o registro com um número específico de campos. Então, nós o utilizamos na função find () para obter o registro em que o campo Pessoal Details possui 2 registros de campo separados, cada registro dentro dos colchetes . A saída não mostra nada porque nenhum registro tem 2 campos dentro do campo Pessoal Detetas.
Teste> dB.Teste.encontre (pessoal pessoal: $ size: 2)Ao definir o valor do operador de "tamanho" para 1 e executar a instrução atualizada, temos todo o registro com seus campos aninhados exibidos em nossa tela de casca do MongoDB como abaixo. A razão por trás dessa exibição é clara: o PersonalDetails tem 1 registro de acordo com os colchetes .
Teste> dB.Teste.encontre (personalDetails: $ size: 1)Exemplo # 02:
Vamos adicionar outro registro de mesmo formato na coleção "teste" para ver se o operador de tamanho funciona em vários registros ou não. Esperava -se que a mesma consulta de inserção adicionasse registros para a pessoa "Beba". Embora tenhamos adicionado mais de um campo dentro dos poços pessoais e da matriz de registros acadêmicos, adicionando esses campos dentro do um par de colchetes encaracolados os considera como um registro.
Teste> dB.Teste.insert (name: "Beba", PersonalDetails: [Age: 44, e -mail: "[email protected] ", cidade:" California "], academicrecord: [qualificação:" ms ", cgpa: 3.9])Depois de adicionar o segundo recorde, tentamos a mesma consulta para exibir os registros que temos na coleção "teste". Ambos os registros foram exibidos no formato padrão de matrizes em MongoDB.
Teste> dB.Teste.encontrar().bonito()Vamos executar a consulta de função "Localizar" para exibir os registros de uma coleção de testes enquanto utiliza o valor do operador "$ tamanho" definido como "3" que foi aplicado ao campo de poços de pessoal. Como o campo PersonalDetails não contém mais de 1 campo por enquanto, portanto a saída é nula.
Teste> dB.Teste.encontre (pessoal pessoal: $ size: 3).bonito()Agora, atualizando o valor do operador "$ set" para 1, conforme demonstrado na consulta abaixo. O valor definido "1" demonstra que o único registro será mostrado na tela do console em que o campo "Peronaldettails" tem um único registro. Como os principais registros que adicionamos, segure campos únicos no campo de poços de pessoal i.e. , ambos os registros são exibidos.
Teste> dB.Teste.encontre (personalDetails: $ size: 1).bonito()Exemplo # 03:
Vamos inserir um novo registro na coleção "teste" através da função "Inserir". Desta vez, optamos por adicionar 3 campos no campo Pessoal Detalhes desta coleção, enquanto o campo “AcademicRecord” contém 2 registros dentro dele. Estaremos aplicando o operador de "tamanho" nele.
Teste> dB.Teste.insert (name: "Paul", PersonalDetails: [Age: 43, Email: "[email protected] ", City:" Texas "], AcademicRecord: [qualificação:" PhD ", cgpa: 4])Agora que adicionamos um recorde aninhado na coleção "teste", estaremos exibindo -o na tela do console usando a instrução de função find (). Para exibir um registro específico, precisamos mencionar o nome de qualquer campo seguido por seu valor dentro de um registro específico i.e., Para exibir o registro em que o campo "Nome" tem seu valor "Paul". Apenas o último registro adicionado foi exibido.
Teste> dB.Teste.encontre (name: "Paul")Vamos mergulhar no exemplo de consulta para exibir os registros de uma coleção "Teste" para exibir apenas o registro com seu tamanho de campo pessoal igual a 3 i.e., tem 3 campos dentro dele. Para isso, tente a mesma função find () seguida pelo nome do campo "PersonalDetails", "$ size" Operator e a função pretty () para exibir a saída em uma matriz. O último registro que acabamos de adicionar foi exibido no console, pois sua matriz de "poços de pessoal" contém 3 registros de campo nele.
Teste> dB.Teste.encontre (pessoal pessoal: $ size: 3).bonito()Conclusão
Depois de passar por este guia junto com três dos exemplos de código mencionados, você poderá procurar o campo de matriz específico de um registro de dados específico que contém apenas o número de elementos através do operador de tamanho de MongoDB. Discutimos como uma matriz de múltiplos campos pode ser utilizada no registro para fazer o tamanho do operador funcionar usando a instrução de função find (). Nessas ilustrações, o campo de tamanho funciona para exibir todos os registros que têm um campo específico com um número específico de registros.