RethinkDb:有很多查询

时间:2017-01-01 15:09:47

标签: rethinkdb rethinkdb-javascript

有两个表,测验和问题

测验表存储问题ID及其显示位置。 每个测验的显示位置都不同。

测验表:

{
 id: '1'
 name: 'Quiz 1'
 questions: [
  {
   question_id: '1',
   position: 4
  },
  {
   question_id: '2',
   position: 1
  },
  ......
 ]
}
...

问题表:

[
 {
  id: '1',
  title: 'Question 1'
 },
 {
  id: '2'
  title: 'Question 2'
 }
]

我想要像这样的返回结果

{
 id: '1',
 name: 'Quiz 1',
 questions: [
   {
    position: 4,
    title: 'Question 1'
   },
   {
    position: 1,
    title: 'Question 2'
   }
 ]
}

我如何获得理想的结果?

感谢

1 个答案:

答案 0 :(得分:0)

我使用以下查询获得了所需的结果

r.db('database').table("quizes").get(id)
  .do((quiz) => {
    return quiz.merge({'questions': quiz('questions').map((q) => {
     return q.merge((r.db('database').table('questions').get(q('id')).without('id')))
    })
   })
 })