Мои данные выглядит примерно так в RethinkDb:Есть ли лучший способ «объединить» данные с помощью Horizon?
[appointments]
{
id: 1,
date: "2016-01-01",
stylistId: 1,
}
[stylists]
{
id: 1,
name: "Sue",
}
На клиенте, я хочу получать назначение и иметь стилиста, встроенный в объект назначения, как так:
{
id: 1,
date: "2016-01-01",
stylist: {
id: 1,
name: "Sue",
}
}
я могу достичь что-то близко, используя этот запрос:
return this.hz('appointments')
.find(appointmentId)
.fetch()
.toPromise()
.then(appointment => {
return this.hz('stylists').find(appointment.stylistId)
.fetch()
.toPromise()
.then(stylist => {
appointment.stylist = stylist;
return appointment;
});
})
.then(appointment => this.appointment = appointment);
Мне интересно, есть ли более чистый способ достижения желаемого результата. Я знаю, что RethinkDb поддерживает поддержку Joins, но похоже, что он не отображается в Horizon. Я также не очень хорошо разбираюсь в RxJS, поэтому мне интересно, может ли соединение быть более чистым.