1

Express、Socket.io、および MongoDB (mongoose/node mongo ネイティブ ドライバーによる) を使用して、Node.js に基づくアプリケーションを作成しようとしています。

私の問題は、WebSockets によるクライアントへの接続の確立に加えて、データベース内でのストレージと処理が最適であるという追加情報を取得することです。次に、イベントが到着すると、追加情報に基づいてクライアントを探し、ソケットによってそれらのクライアントに通知を送信します。

私の質問 - データベースへのソケット接続で作成されたオブジェクトを保存する可能性はありますか?

そうでない場合、私の考えは、それらを追加の変数とともに配列に格納して、データベース内の見つかったアイテムから追加情報を見つけることができるようにすることです。私は正しいですか?

クライアント --> 接続の作成 --> データの送信 --> サーバー --> DB で一致するデータを検索 --> ソケットを確立されたデータと照合 --> 確立されたソケットによって通知を送信

心から

4

3 に答える 3

3

Google 経由でこれに遭遇した人にとっては、これを処理するsocket.io-mongo モジュールがあるようです。

于 2013-03-17T17:08:10.417 に答える
1

ソケットのリストとそれらが属しているノード プロセスを mongodb に保持し、特定のソケットにメッセージを配信する必要があるときにそのプロセスにメッセージを送信できます。各メッセージのようなもの

{delivery_to:all} または {delivery_to:[1, 2, 3, 4]} 番号はソケット ID です。

しかし、洗練された方法は、mongodb でキャップ付きコレクションを使用し、すべてのプロセスがコレクションをリッスンし、そのプロセスに属するメッセージを処理することです。mongodb を使用したキューの実装の適切な説明は、ここにあります。

http://www.10gen.com/presentations/mongosv-2011/mongodb-as-a-message-queue

于 2012-07-25T13:25:01.153 に答える