是否可以使用meteor-presence检索特定用户数据(例如profile.name
甚至是profile
对象中的其他内容),而不是返回userId?或者我应该从Meteor.presences
收集所有userIds,然后使用Meteor.users
查询userId
以获取我需要的数据吗?
答案 0 :(得分:2)
是的,这是最好的方法。您也可以在查询中使用transform!
Meteor.presences.find({}, {transform:function(doc) {
var user = Meteor.users.findOne({_id:doc.userId});
if(user) doc.profile = user.profile;
return doc;
}
});
您可以在模板助手中使用此查询,也可以在其他任何地方使用此查询,以便它现在具有与用户匹配的profile
对象。尽管您的用户集中的所有用户都是以安全的方式发布的。