如何创建在线/活动用户列表?

时间:2015-04-03 03:46:14

标签: meteor

我使用mizzao:user-status软件包向我的用户添加在线/活动状态。使用此功能,我可以运行查询以获取所有在线用户。

我面临的问题是,让用户列表保持最新状态。

我相信我需要使用Accounts.onLogin来更新列表,我认为这是在服务器端使用的。那么,如何保持用户列表与客户端连接的用户保持同步?

1 个答案:

答案 0 :(得分:6)

就像README上的mizzao点。

首先执行发布。

Meteor.publish("userStatus", function() {
  return Meteor.users.find({ "status.online": true });
});

subscribe

Meteor.subscribe('userStatus')

第二次执行帮助以使用户在线返回。

<强>的Javascript

Template.example.helpers({
  usersOnline:function(){
    return Meteor.users.find({ "status.online": true })
  },
  usersOnlineCount:function(){
   //event a count of users online too.
   return Meteor.users.find({ "status.online": true }).count();
  }
})

<强> HTML

<template name="example">
 There are currently {{usersOnlineCount}} users online.
<h1>List of Users online </h1>
  <ul>
   {{#each usersOnline}}
   <li> {{username}}</li>
   {{/each}}
  </ul>
</template>