访问已发布的Meteor数据

时间:2014-01-12 23:11:44

标签: javascript meteor

不确定我是否以正确的方式解决这个问题。我会绘制出我想要实现的目标,请给我任何反馈。如果我在某些方面有点没有受过教育,那么流星也很新鲜。这将是一个双人游戏,用户使用accounts-twitter或accounts-facebook登录。这里有一个棘手的部分,如果有两个用户登录,它只会初始化游戏。要确定谁登录,我已将这行代码放在我的服务器部分中:

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

我想要做的是写if语句if(userStatus === true){get a users" _id"}然后将该用户推入数组并进行for循环运行通过在阵列中登录的每2个用户并为他们初始化游戏。此外,主要问题是如果status.online为true,我如何获取用户ID?此外,我们非常感谢有关如何提高效率的任何输入。

1 个答案:

答案 0 :(得分:0)

回答你的“主要问题”,你可以使用mongoDB为每个人这样做。

Meteor.methods({

getOnline : function(){
    var retArr = new Array();
    Meteor.users.find({"status.online": true}).forEach(function(u){
        retArr.push(u._id); //populated retArr with the id of users online
    });
    return retArr;        
}
});

如果我遗漏某些内容或者您需要澄清某些内容,请发表评论。