订阅,发布在运行时创建的动态集合

时间:2015-09-04 02:41:39

标签: meteor angular-meteor

我正在尝试在meteorJS中创建一个聊天应用程序,我正在考虑在他们发起聊天时动态地为每个组创建一个单独的集合,我想发布和订阅该集合以传输聊天信息,并且所有组用户都可以订阅它,但我无法动态创建一个集合。

我尝试创建一个在用户订阅集合时调用的函数。

this.createDb =(name) ->
  @ChatDb = new Mongo.Collection(name)
  return true

一切都很好,但是当我从客户端订阅这个集合时,ChatDb是未知的,任何人都可以帮助我,这将是伟大的。 :)

ps-我在角度流星框架中编写代码

1 个答案:

答案 0 :(得分:0)

Andrew Mao回答similiar question

  

在大多数情况下,您可能不想创建多个   集合,而是使用一个集合并发送它的视图   客户取决于他们的订阅。

     

你可能想看看   我已经构建了https://github.com/mizzao/meteor-partitioner包   是专为此目的而设计的,包括一个例子   如何为多个聊天室执行此操作。你也可以看到   https://github.com/mizzao/CrowdMapper用于实施示例。

我现在还没有做过Meteor一段时间,所以我无法给你一个坚实的答案。但我清楚地记得,动态创建集合并不是实现您想要做的事情的推荐方式。