在rethinkdb中制定查询

时间:2016-08-22 15:27:58

标签: json rethinkdb rethinkdb-javascript

我在Rethinkdb中有下一个文档。

{
  "id": 678 ,
  "author": 0 ,
  "body":  "<p>text</p>" ,
  "category":  "category" ,
  "optionlist": {
                  "option_A": "text 1" ,
                  "option_B": "text 2" ,
                  "option_C": "text 3" 
                } ,
  "rank": 4 ,
  "array": [
             "tag 1" ,
             "tag 2"
           ] ,
}

我需要在rethinkdb中进行查询,您只能在此处退出:

"option_A": "text 1" 

和另一个查询,你可以只作为退出:

"tag 1"

这样的东西?

r.db('myDataBase').table('myTable').pluck('id','optionlist').filter({article_id:678})

2 个答案:

答案 0 :(得分:1)

好的,假设有2个不同的请求,在第一个请求上:

r.db('your_db').table('your_table').filter({id:678})('optionlist').pluck('option_A')

Obs:如果您拥有文档的“id”,最好使用.get()而不是.filter(),如下所示:

r.db('your_db').table('your_table').get(678)('optionlist').pluck('option_A')

在第二个请求中,你有:

r.db('your_db').table('your_table').get(678)('array').nth(0)

希望它有所帮助! 干杯

答案 1 :(得分:0)

我假设你的意思是“只是嵌入式数组中的第一个索引”,而article_id: 678将是optionList中嵌入的关键值对之一:

r.db('myDataBase').table('myTable')('optionList').filter({article_id:678})

然后是另一个结果:

r.db('myDataBase').table('myTable')('array').nth(0)