Как получить данные нескольких пользователей на основе идентификатора пользователя в метеоре js?

Я создал функцию сообщения в чате. В сообщении хранится идентификатор пользователя отправителя и получателя. Как я могу получить другие данные о пользователе только на основе идентификатора пользователя?

Является ли создание метода Meteor лучшим способом, или мне нужно создать для него шаблон публикации/подписки.

Я хочу избежать отправки всех данных пользователей на сторону клиента.

Я пытался создать метод метеора, но я не думаю, что это лучший подход.

Meteor.methods({
getUserInfoById: function (usrId) {
    //console.log("BEGIN");
    //console.log(usrId);
    var user = Meteor.users.findOne(usrId);
    //console.log(user);
    //console.log("END");

    return user;
}
});

person user1880312    schedule 27.12.2015    source источник


Ответы (1)


Создайте издателя (а также подписчика) для данных о других пользователях, которые вы хотите, чтобы данный пользователь видел. Вы можете ограничить поля, возвращаемые с помощью квалификатора {fields: ...} в запросе.

Это очень распространенный шаблон. Использование метода для этого является анти-шаблоном из-за дополнительной задержки приема-передачи для чего-то, что вы, вероятно, будете показывать довольно часто, например, имя пользователя или аватар другого пользователя.

person Michel Floyd    schedule 27.12.2015