MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Meteor - collection.find() sempre retorna todos os campos


sua sintaxe está um pouco errada, deve ser
CollectionName.find({}, {fields: {'onlyThisField':1}});

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

seu modelo realmente controla quais dados são exibidos, mas ainda há muitos cenários em que a limitação de campo faz sentido - privacidade de dados ou eficiência (alguns campos de todos os registros, todos os campos do registro 'atual') são dois comuns

você não mencionou, mas isso geralmente está dentro de uma função de publicação - veja http://docs.meteor.com/#meteor_publish - os fields modificador também está disponível no cliente, mas não limita os dados enviados para o cliente, apenas para o modelo - a redução/seleção do campo do lado do servidor tem diferentes benefícios

--

verifique se você removeu a autopublish pacote também, no entanto, você deve ver um aviso se tiver isso ativo e escrever suas próprias funções de publicação, que é onde você usaria mais comumente os fields