sql >> Database teknologi >  >> NoSQL >> MongoDB

MONGO får kun navnet på dokumenterne, men ikke hele dokumenterne

Du kan bruge den anden parameter af .find() metode til at angive en projektion :

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

som returnerer:

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

Eller du kan bruge Aggregation Framework til at få et enkelt dokument med en række navne:

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

som returnerer:

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

Den første bør være den hurtigste måde, hvis du har et indeks på company_name . I så fald behøver din forespørgsel ikke at scanne samling og kan kun bruge indeks til at få forespurgte data (dækket forespørgsel ).




  1. MongoDB - fortolk bestemt forklare output

  2. Forespørgsel på resultat fra mongoose ved hjælp af dynamisk model.find

  3. MongoDB $switch

  4. Brug af en dynamisk værdi i aggregation