MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MONGO n'obtient que le nom des documents mais pas l'ensemble des documents

Vous pouvez utiliser le deuxième paramètre de .find() méthode pour spécifier une projection :

db.companies.find({}, { _id: 0, company_name: 1 })

qui renvoie :

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

Ou vous pouvez utiliser Aggregation Framework pour obtenir un seul document avec un tableau de noms :

db.companies.aggregate([{ $group: { _id: null, company_names: { $push: "$company_name" } } }])

qui renvoie :

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

Le premier devrait être le moyen le plus rapide si vous avez un index sur company_name . Dans ce cas, votre requête n'a pas besoin d'analyser la collection et peut utiliser uniquement l'index pour obtenir les données interrogées (requête couverte ).