Я использую publish-composite для выполнения реактивного соединения (я уверен, что конкретный пакет не имеет значения). И я вижу, что промежуточные данные передаются клиенту.Метеор: реактивные соединения предоставляют промежуточные данные
В следующем примере:
Meteor.publishComposite('messages', function(userId) {
return {
find: function() {
return Meteor.users.find(
{ 'profile.connections.$': userId }
);
},
children: [{
find: function(user) {
return Messages.find({author: user._id});
}
}]
}
});
Все пользователи, которые имеет USERID в profile.connections
получить подвергаются клиенту. Я знаю, что это может создать проекцию mongodb, поэтому чувствительный материал не отображается. Но мне было интересно, могу ли я просто запретить первому поиску курсора find() получить доступ к клиенту вообще.
Спасибо за решение. Это довольно близко, я делал то же самое, что вы предложили. Но проблема в том, что если вы создадите новое соединение, сообщения из этого нового соединения не появятся, если вы не обновите. –
Я думал, что вам нужны только сообщения из одного отображаемого соединения. Итак, вы хотите показывать сообщения со всех подключений пользователя? – bluebird