sql >> Database >  >> NoSQL >> MongoDB

Meteor - collection.find() retourneert altijd alle velden

je syntaxis is een beetje uit, het zou moeten zijn

CollectionName.find({}, {fields: {'onlyThisField':1}});

of

CollectionName.find({}, {fields: {'everythingButThisField':0}});

uw sjabloon bepaalt inderdaad welke gegevens worden weergegeven, maar er zijn nog steeds veel scenario's waarin veldbeperking zinvol is - privacy van gegevens of efficiëntie (sommige velden van alle records, alle velden van het 'huidige' record) zijn twee veelvoorkomende.

je hebt het niet genoemd, maar dit is meestal binnen een publicatiefunctie - zie http://docs.meteor.com/#meteor_publish - de fields modifier is ook beschikbaar op de client, maar daar worden de gegevens die naar de client worden verzonden niet beperkt, alleen tot de sjabloon - veldreductie/selectie aan de serverzijde heeft verschillende voordelen

--

controleer nogmaals of je de autopublish . hebt verwijderd pakket ook, maar je zou een waarschuwing moeten zien als je die actief hebt en je eigen publicatiefuncties schrijft, waar je meestal fields zou gebruiken



  1. Waar is de gegevensmap in Redis?

  2. Aan de slag met MongoDB en Mongoose

  3. Gebeurtenis op sleutel verloopt

  4. Spring Data Mongo - unieke combinatievelden toepassen in ingesloten document