У меня есть три стола: user
, post
, postVote
.Как вы присоединяетесь к трем или более таблицам в RethinkDB?
Я хочу объединить эти таблицы, чтобы построить список сообщений для текущего пользователя сеанса. vote
Поле каждого элемента сообщения в списке результатов будет отличаться в зависимости от того, кем является текущий пользователь сеанса и для каждого элемента сообщения. Подумайте, как работает reddit голосование.
Я добавил составной индекс ['userId', 'postId']
как userIdpostId
в postVote
таблица для более быстрого eqJoin
.
Вот таблица схемы:
user {
id: string
name: string
}
post {
id: string
authorId: string
title: string
}
postVote {
id: string
userId: string
postId: string
vote: number
}
Желаемый результат:
[
{
id: string // post id
authorId: string // author user id
authorName: string // author user name
title: string // post title
vote: number // vote for this post by current session user
// default to 0, if no matching entry is found in postVote table.
}
]