Menu Docs
Página inicial do Docs
/ / /
Driver Ruby MongoDB
/

Projeção

Nesta página

  • documento de projeção
  • Exemplos

Por padrão, as queries no MongoDB retornam todos os campos em documentos correspondentes. Para limitar a quantidade de dados que o MongoDB envia para aplicativos, você pode incluir um documento deprojeção na operação de query.

O documento de projeção limita os campos para retornar para todos os documentos correspondentes. O documento de projeção pode especificar a inclusão de campos ou a exclusão de campos e tem o seguinte formato:

{ 'projection': { field1: <value>, field2: <value> ... } }

<value> pode ser 0 (ou false ) para excluir o campo ou 1 (ou true ) para incluí-lo. Com exceção do campo _id , você não pode ter inclusões e exclusões no mesmo documento de projeção.

O seguinte exemplo de código utiliza o conjunto de dados de amostra restaurants .

Para retornar somente os campos name, cuisine e _id para documentos que correspondam ao filtro de query, inclua explicitamente os campos name e cuisine no documento de projeção. O campo _id é incluído automaticamente, a menos que seja especificamente excluído.

client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'test')
collection = client[:restaurants]
collection.find({}, { 'projection' =>
{ 'name' => 1, 'cuisine' => 1 } }).limit(5).each do |doc|
p doc
end

Para retornar name e cuisine , mas excluir todos os outros campos, incluindo _id, use o seguinte documento de projeção:

{ 'projection' => { 'name' => 1, 'cuisine' => 1, '_id' => 0 } }

Para retornar todos os campos, exceto o campo de endereço, use o seguinte:

{ 'projection' => { 'address' => 0 } }

Voltar

Gravações em massa

Próximo

Agregação