私はソーシャルネットワークのように機能するCouchAppを持っています。ユーザーがクリックすると、post_id(高く評価された投稿のID)、user_id(投稿を高く評価したユーザーのID)、およびタイプのフィールドを持つCouchDBJSONドキュメントを作成して保存するいいねボタンがあります。 (値は「like」で、ドキュメントがlikeであることを示します)。
投稿と一緒に、受け取ったいいねの数を示したいと思います。私のマップ関数は次のようになります。
function(doc) {
if (doc.type && doc.type == 'like') {
emit(doc.post_id, 1);
}
}
そして私の削減、これ:
function(post_ids, likes) {
return sum(likes);
}
私の問題は、この関数がサイト内のすべての投稿のすべてのいいねの合計を返すことです。私のreduce.jsは問題なく、map.jsを微調整してpost_id引数を受け入れ、そのpost_idからいいねだけを取得できるようにできると思いますが、どうすればよいですか?post_idは、もちろん、「いいね」ボタンがクリックされたときに設計ドキュメントから取得されます。
ありがとう。