MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MONGO obtém apenas o nome dos documentos, mas não todos os documentos


Você pode usar o segundo parâmetro de .find() método para especificar uma projeção :
db.companies.find({}, { _id: 0, company_name: 1 })

que retorna:
{ "company_name" : "gmc" }
{ "company_name" : "tesla" }
...

Ou você pode usar o Aggregation Framework para obter um único documento com uma matriz de nomes:
db.companies.aggregate([{ $group: { _id: null, company_names: { $push: "$company_name" } } }])

que retorna:
{ "_id" : null, "company_names" : [ "gmc", "tesla", ... ] }

O primeiro deve ser o caminho mais rápido se você tiver um índice em company_name . Nesse caso, sua consulta não precisa verificar a coleção e pode usar apenas o índice para obter dados consultados (consulta coberta ).