1

(id、song_id、user_id、およびvote)のようないくつかのエントリを持つ投票のあるテーブルがあります。投票には、「好き」または「嫌い」の値を含めることができます

ここで、song_id でグループ化されたキューを作成し、そのグループから好き嫌いの値の数を返したいと考えています。

r.db('songs').table('votes').groupedMapReduce(
    function(vote) { return vote('song_id')},
    function(vote) { return vote.pluck('vote')},
    function(acc, vote) {
        return ?????;
        /* 
        ** some kind of loop to get all the likes and dislikes
        ** if vote === 'like' likes++
        ** if vote === 'dislike' dislikes++
        ** return {song_id:song_id, likes:likes, dislikes:dislikes}
        */
    }
 )

次のような出力を期待しています:

[
    {song_id: 1, likes: 8, dislikes: 3},
    {song_id: 2, likes: 2, dislikes: 6},
    // and so on
]
4

1 に答える 1