私は、mongodb にクエリを実行してアイテムをフィルタリングするための JavaScript API に取り組んでいます。サーバー側の処理は必要ありません。mongodb にクエリを実行し、その応答をブラウザに送信して JavaScript で処理します。無駄なjsonのシリアル化/逆シリアル化を避けるために、mongodbの応答を解析せずにトルネードを介して文字列としてクライアント(ブラウザ)に渡すことは可能ですか?
質問する
161 次
1 に答える
1
生の MongoDB 応答はBSON (Binary JSON)であり、JSON へのマッサージが必要です。BSON タイプとエンコードされたデータの例は、仕様ページで確認できます。
利用可能な純粋な JavaScript BSON パーサーがあるかどうかはわかりませんが、一般的に、C などの低レベル言語でのシリアル化は、Python や JavaScript などのインタープリター言語を使用するよりもはるかに高速です。PyMongo ドライバーには、パフォーマンスのために推奨される BSON 用の C 拡張機能が含まれています。
BSON から JSON への変換で節約できるサーバー側の作業は、ブラウザーベースの JavaScript を介して行うにははるかにコストがかかります。
関連読書:
PyMongo and Performance - BSON C 拡張機能を使用した場合と使用しない場合の PyMongo シリアライゼーションの比較を含むブログ投稿 (TL;DR: 純粋な Python で 145 秒 vs C 拡張機能で 8 秒)
于 2012-11-25T22:47:53.473 に答える