sql >> Databáze >  >> NoSQL >> MongoDB

MONGO dostanou pouze názvy dokumentů, ale ne celé dokumenty

Můžete použít druhý parametr .find() metoda k určení projekce :

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

který vrátí:

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

Nebo můžete použít Aggregation Framework k získání jednoho dokumentu s řadou názvů:

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

který vrátí:

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

První by měl být nejrychlejší způsob, pokud máte index na company_name . V takovém případě váš dotaz nepotřebuje skenovat kolekci a může použít pouze index k získání dotazovaných dat (krytý dotaz ).




  1. Spring-Mongo-Data Update umožňuje pouze jeden poziční argument?

  2. Celer s více místy django

  3. MongoDB vyhledá pole objektů podle pole (podmínky spojení a nekorelované dílčí dotazy)

  4. Mohu smazat výchozí index MongoDB?