コメントの投稿方法CouchDBを使用した単一クエリでカウントしますか?コメントの投稿方法CouchDBを使用した単一のクエリでカウントしますか?
私はスタンドアロンビュー[{key: post_id, value: comments_count}]
をビルドするためにmap-reduceを使うことができますが、私はDBを2回ヒットしなければなりませんでした。一つのクエリは投稿を取得し、もう一つはcomments_countを取得します。
また、別の方法(これはRailsを実行する)です - コメントをアプリケーションサーバーで手動で数え、投稿のcomment_count
属性に保存します。しかし、新しいコメントが追加または削除されるたびに、ポスト文書全体を更新する必要があります。 CouchDBはこのようにチューニングされていないようですが、CouchDBのcomment_count
属性のみを更新できるときはRDBMSと異なり、ポスト文書全体を更新する必要があります。
多分、別の方法がありますか?
ありがとうございました。
しかし、すべてのコメントを取得する必要はありません。非効率的です。たとえば、コメントの数が多い投稿のリストを表示したいとします。ページに30件の投稿が表示される場合は、30件すべての投稿についてすべてのコメントを取得する必要があります。 –
私はあなたが2コール以上の帯域幅で立ち往生していると思います。両方の呼び出しをブラウザから非同期でスローすると、余分な接続のオーバーヘッドは小さくなりますが、ほとんどの待ち時間は重なります。 – Jim
このような場合は、コメントカウントがjavascriptのないクライアントには表示されないため、これは問題ありません – matejcik