Puoi usare il secondo parametro di .find()
metodo per specificare una proiezione
:
db.companies.find({}, { _id: 0, company_name: 1 })
che restituisce:
{ "company_name" : "gmc" }
{ "company_name" : "tesla" }
...
Oppure puoi utilizzare Aggregation Framework per ottenere un singolo documento con una matrice di nomi:
db.companies.aggregate([{ $group: { _id: null, company_names: { $push: "$company_name" } } }])
che restituisce:
{ "_id" : null, "company_names" : [ "gmc", "tesla", ... ] }
Il primo dovrebbe essere il modo più veloce se hai un indice su company_name
. In tal caso, la tua query non ha bisogno di scansionare la raccolta e può utilizzare solo l'indice per ottenere i dati richiesti (query coperta
).