0

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

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

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

一切都很好,但是当我从客户端订阅这个集合时,ChatDb 是未知的,任何人都可以帮我解决这个问题,那就太好了。:)

ps-我正在 angular-meteor 框架中编写代码

4

1 回答 1

0

Andrew Mao类似问题的回答:

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

您可能想查看 我构建的https://github.com/mizzao/meteor-partitioner包,该包专为此目的而设计,并包含一个如何为多个聊天室执行此操作的示例。您还可以查看 https://github.com/mizzao/CrowdMapper以获取已实现的示例。

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

于 2015-09-04T04:17:28.720 回答