MongoDB - Projeção

No MongoDB, projeção significa selecionar apenas os dados necessários, em vez de selecionar todos os dados de um documento. Se um documento tiver 5 campos e você precisar mostrar apenas 3, selecione apenas 3 campos deles.

O Método find ()

MongoDB's find()método, explicado em Documento de consulta MongoDB aceita o segundo parâmetro opcional que é a lista de campos que você deseja recuperar. No MongoDB, quando você executafind()método, ele exibe todos os campos de um documento. Para limitar isso, você precisa definir uma lista de campos com valor 1 ou 0. 1 é usado para mostrar o campo, enquanto 0 é usado para ocultar os campos.

Sintaxe

A sintaxe básica de find() método com projeção é o seguinte -

>db.COLLECTION_NAME.find({},{KEY:1})

Exemplo

Considere que a coleção mycol tem os seguintes dados -

{_id : ObjectId("507f191e810c19729de860e1"), title: "MongoDB Overview"},
{_id : ObjectId("507f191e810c19729de860e2"), title: "NoSQL Overview"},
{_id : ObjectId("507f191e810c19729de860e3"), title: "Tutorials Point Overview"}

O exemplo a seguir exibirá o título do documento durante a consulta ao documento.

>db.mycol.find({},{"title":1,_id:0})
{"title":"MongoDB Overview"}
{"title":"NoSQL Overview"}
{"title":"Tutorials Point Overview"}
>

Observe _id campo é sempre exibido durante a execução find() método, se você não quiser esse campo, você precisa defini-lo como 0.