У меня есть таблица с голосами, в которых есть такие записи, как (id, song_id, user_id и голосование). Голос может содержать значение «нравится» или «не нравится».
теперь я хочу создать очередь, которая группируется по 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
]