0

私はmeteorJSでチャットアプリケーションを作成しようとしています.チャットを開始するときにグループごとに個別のコレクションを動的に作成することを考えていました.チャット情報を送信するためにそのコレクションを公開してサブスクライブし、すべてのグループユーザーがサブスクライブできるようにしたいのですが.コレクションを動的に作成できません。

ユーザーがコレクションをサブスクライブしたときに呼び出される関数を作成してみました。

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

すべて問題ありませんが、クライアント側からこのコレクションをサブスクライブすると、ChatDb が不明です。:)

ps- angular-meteor フレームワークでコードを書いています

4

1 に答える 1

0

同様の質問に対するAndrew Maoの回答:

ほとんどの場合、複数のコレクションを作成するのではなく、1 つのコレクションを使用して、サブスクリプションに応じてそのビューをクライアントに送信します。

この目的のために特別に設計された、私が作成したhttps://github.com/mizzao/meteor-partitionerパッケージを確認して ください。複数のチャット ルームでこれを行う方法の例が含まれています。実装例については、https://github.com/mizzao/CrowdMapperも参照 してください。

Meteorをしばらくやっていないので、しっかりとした答えを出すことができませんでした。しかし、コレクションを動的に作成することは、やりたいことを達成するための推奨される方法ではないことをはっきりと覚えています。

于 2015-09-04T04:17:28.720 に答える