sql >> Database >  >> NoSQL >> MongoDB

MONGO krijgt alleen de naam van documenten, maar niet de hele documenten

U kunt de tweede parameter van .find() . gebruiken methode om een ​​projectie te specificeren :

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

die retourneert:

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

Of u kunt Aggregation Framework gebruiken om een ​​enkel document met een reeks namen te krijgen:

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

die retourneert:

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

De eerste zou de snelste manier moeten zijn als je een index hebt op company_name . In dat geval hoeft uw zoekopdracht de collectie niet te scannen en kan alleen de index worden gebruikt om opgevraagde gegevens op te halen (overdekte zoekopdracht ).




  1. MongoDB - Meerdere $ of bewerkingen

  2. Benaderingen voor back-up en noodherstel in HBase

  3. Waarde halen uit een MongoDB-document

  4. Fout bij het ophalen van Tweets met Tweepy