Как я могу отобразить список всех зарегистрированных пользователей с Meteor.JS
Я уже несколько дней пытаюсь получить список зарегистрированных пользователей в приложении Meteor chat. Я перепробовал много разных вещей. Мне удалось добавить флаг входа в объект профиля пользователя. Сторона сервера:
Accounts.onCreateUser(function(options, user) {
    if(!options.profile){
        options.profile = {}
    }
    options.profile.login = false;
    if (options.profile)
        user.profile = options.profile;
    return user;
});
В консоли браузера я получаю следующее:
Meteor.user().profile
Object {login: false}
Так что, похоже, это работает.
Теперь я хочу перечислить, вошли ли пользователи в систему: Сторона клиента
Deps.autorun(function(){
    if(Meteor.userId()){
        Meteor.user().profile.login=true;
    }
});
После проверки логин остается ложным при входе в систему.
Этот шаблон html дает мне список всех имен пользователей, но не флаг входа
{{#each allUsers}}
<p>{{username}}</p><p>{{profile.login}}</p>
{{/each}
Итак, мои проблемы: профиль.логин остается ложным, и я не могу отобразить профиль.вход, но имена пользователей отображаются.
Заранее благодарю вас. Приветствую Тебя, Джорис
1 ответ:
Чтобы изменить свойство users
profile.login, вам нужно сделатьMeteor.users.update(..)или вызвать метод сервера, который это делает. Просто изменить свойство объекта пользователя не получится.Вообще я бы рекомендовал не сохранять состояние пользователей в базе данных mondodb, а хранить его в коллекции в памяти.
Проще всего было бы просто использовать один из них пакеты:
Или изучите их исходный код, чтобы увидеть, как распространять статус пользователя.