根据Meteor的不同ID的文档字段发布和订阅集合

时间:2014-11-12 16:03:30

标签: mongodb meteor

我正在Meteor中建立一个磁性诗歌游戏

http://test-magnets.meteor.com/

主页允许每个人在线玩同一个“冰箱”我希望有一个选项,允许你创建自己的冰箱,而不会让公众打扰它。

我使用Iron Router根据userID生成一个url。磁铁有冰箱。主页的fridgeId为1,当用户根据userId进入url时,磁铁fridgeId更新为与userId相同。

目前,当您在主页中移动磁铁时,它也会在用户的私人冰箱中进行更改。是否可以使用发布和订阅或铁路由器只是根据我生成的fridgeId更新磁铁的数据库?任何建议都非常感谢。感谢

-John

这是我现在的一些代码。

铁路由器

Router.map(function() {
this.route('home', {
    path: '/'
});
var user = Meteor.userId();
this.route('private', {
    path: '/' + user 
 });
});

磁铁收藏

  if (Meteor.isServer) {

   Meteor.publish('magnets', function(){
   return Magnets.find();
 });
}


if (Meteor.isClient) {
  Meteor.subscribe('magnets', function(){
  return Magnets.find();
 });
}

设置了fridgeId的一些助手

Template.home.events = {
'click #new-board': function() {
    var user = Meteor.userId();
    var magnet = Magnets.findOne();
    Magnets.update({_id: magnet._id}, {$set: {fridgeId: user}});
 }
};

Template.private.events = {
'click #group-fridge': function() {
    var magnet = Magnets.findOne();
    Magnets.update({_id: magnet._id}, {$set: {fridgeId: 1}});
 }
};

0 个答案:

没有答案