Como você usa a projeção para exibir os dados necessários no mongodb?
A projeção do MongoDB é baseada no método atual (). Assim, podemos especificar qualquer consulta de projeção que exija alterações significativas no método find () atual (). A maneira como a projeção é usada no MongoDB é assim: "Find (, " field_name ":" value ")". A sintaxe de projeção no MongoDB é a mesma que o método find (), mas adicionamos um conjunto de argumentos no método find (). Este conjunto de argumentos notifica a instância do mongodb qual campo de dados retornar. Usamos a coleção "bolo" onde a projeção do MongoDB é implementada. Mas para isso, temos que adicionar documentos a essa coleção. Usamos o método insertMany () do mongodb para inserção do documento. A consulta de inserir os documentos na coleção "Cake" é a seguinte:
dB.Bolo.InsertMany ([Aqui, inserimos com sucesso o documento mostrado na imagem para usar a técnica de projeção.
Exemplo # 1: projeção de MongoDB para o campo especificado.
Aqui, apenas recuperamos o campo único, passando o parâmetro do projeto para o método find (). Temos a seguinte consulta em que o método find () leva os critérios de seleção vazios e o parâmetro de projeção. O parâmetro de projeção entra o "nome" do campo que é atribuído com o valor numérico "1" para exibir apenas esse campo como uma saída. O _ID é definido com o valor "0" porque o método find () sempre retorna o campo _id na saída.
dB.Bolo.encontre (, name: 1, _id: 0)Todos os documentos são mostrados abaixo, mas com apenas um único "nome" de campo junto com seu valor correspondente, porque a projeção é aplicada a esse campo.
Exemplo # 2: projeção do MongoDB para vários campos.
Agora, estamos especificando os múltiplos campos para o parâmetro de projeção do método find () para exibir os dados apenas para os campos dos documentos. Aqui, temos uma consulta de projeção que está definida com o “nome” e “calorias” de campo. Como esses campos recebem o valor "1", que indica que os dados apenas desses campos são recuperados ao executar a consulta de projeção.
dB.Bolo.encontre (, "_id": 0, "nome": 1, "calorias": 1)Portanto, buscamos com sucesso os dados apenas dos campos que são definidos como o parâmetro de projeção.
Exemplo # 3: projeção de mongodb para a condição especificada.
Fornecemos a declaração de projeção no exemplo acima mencionado sem os critérios de seleção. Agora, estamos usando a declaração de projeção junto com a condição. Na consulta de projeção abaixo, empregamos o método find () em que primeiro definimos os critérios de seleção que o campo de "status" deve ser igual ao valor "disponível". Em seguida, inserimos os campos "libras" e "preço" como parâmetro de projeção com o valor "1". Esses campos exibiram apenas os dados dos documentos que atendiam à condição "Status:" Disponível ".
dB.Bolo.encontrar(Temos apenas três documentos cujo status está "disponível", que é mostrado na saída com os campos definidos como a projeção.
Exemplo # 4: projeção de mongodb para o campo especificado, exceto para campos excluídos.
Nesta consulta de projeção, marcamos os campos com o valor "0" para excluí -los do documento retornado. Nós implantamos o método find () em que a expressão "Status: Disponível" e o conjunto de argumentos de projeção são dados. O parâmetro de projeção forneceu os campos "status" e "preço" com o valor "0". O valor "0" indica que esses campos não aparecerão quando o documento dos critérios fornecidos for devolvido.
dB.Bolo.encontre (status: "disponível", status: 0, preço: 0)Aqueles campos cujo status está "disponível" nos documentos são exibidos na imagem, exceto o status e o preço excluídos do campo.
Exemplo # 5: Operador de projeção do MongoDB “$ slice”.
A consulta de projeção otimiza a pesquisa e reduz o fluxo de trabalho quando seus operadores são utilizados. Temos vários operadores de consultas de projeção das quais usamos o operador $ slice neste exemplo. O operador $ Slice limita o número de documentos retornados como uma saída da consulta de projeção. Aqui, temos uma consulta de projeção do operador $ slice. Invocamos o método find () que é definido com o parâmetro vazio primeiro, onde a condição é definida. Em seguida, definimos o método find () com o parâmetro de projeção. O parâmetro de projeção é especificado com a declaração “libras: $ slice: 3”. O campo “libras” usa o operador $ slice que é definido com o valor “3” para vincular os documentos retornados na saída.
dB.Bolo.encontre (, libras: $ slice: 3)A imagem a seguir exibiu apenas três documentos na saída porque o operador $ slice da declaração de projeção limita -a por um determinado valor.
Exemplo # 6: Operador de projeção do MongoDB “$ elematch”.
Agora, usamos outro operador de projeção "$ elematch". O operador $ elemmatch projeta o primeiro valor correspondente de uma matriz. As expressões de consulta $ text não são suportadas pelo $ elemmatch do operador de projeção. Além disso, a condição explícita é necessária para o operador de projeção $ elemmatch. Estabelecemos uma consulta de projeção em que os critérios de seleção são atribuídos primeiro ao método find () e a projeção é implementada. Para o parâmetro de projeção, fornecemos o campo "Topping". O campo "Topping" possui o operador $ Elematch, onde a condição "Sprinkleprice": 90 é atribuída para corresponder aos elementos da matriz.
dB.Bolo.encontre ("name": "Ice Cake", Topping: $ elemmatch: "Sprinkleprice": 90)Estes são os documentos que recuperamos na saída após o operador $ Elematch da consulta de projeção.
Conclusão
O guia explorou a funcionalidade da projeção do MongoDB. A projeção do MongoDB refere -se a coletar apenas os dados relevantes, em vez de todo o conjunto de dados de um documento. Aprendemos como usar a consulta de projeção para adquirir os dados necessários da coleção fornecida. Executamos várias consultas de projeção para incluir e excluir os campos específicos usando os valores "1" e "0". Além disso, também usamos os operadores de projeção "$ slice" e "$ elematch" na consulta de projeção.