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

Meteor - collection.find() renvoie toujours tous les champs

votre syntaxe est un peu décalée, ça devrait l'être

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

ou

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

votre modèle contrôle en effet quelles données sont affichées, mais il existe encore de nombreux scénarios où la limitation des champs a du sens - la confidentialité des données ou l'efficacité (certains champs de tous les enregistrements, tous les champs de l'enregistrement "actuel") sont deux cas courants

vous ne l'avez pas mentionné, mais cela se trouve généralement dans une fonction de publication - voir http://docs.meteor.com/#meteor_publish - les fields Le modificateur est également disponible sur le client, mais là, il ne limite pas les données envoyées au client, juste au modèle - la réduction/sélection de champ côté serveur a des avantages différents

--

vérifiez que vous avez supprimé le autopublish package également, mais vous devriez voir un avertissement si vous l'avez activé et écrivez vos propres fonctions de publication, c'est là que vous utiliserez le plus souvent les fields