在Rethink db中,如何在以下情况下检索键值对?

时间:2018-09-19 14:09:14

标签: java rethinkdb

{
 "id" :"Reserved"
 "1" :"Free"
 "2" :"Free"
 "3" :"Reserve"
.
.
 "100":"Free"
}

我使用了以下查询:

r.db(DBName).table(tableName).get(docId).values().contains(regex).run(conn);

在这里:正则表达式用于免费

这为我提供了所有免费的值,但是我想获得正则表达式为其免费或保留的(键,值)对。

我能否以任何方式获取免费的键值对“ Like”的数量?:

 "1" :"Free"
 "2" :"Free"
 "100":"Free"

有意获得

"Free"
"Free"
"Free"

1 个答案:

答案 0 :(得分:0)

您可以尝试

r.db("DB").table("TABLENAME").get("DOC_ID").do(function(doc){
  return doc.keys().filter(function(value){
    return doc(value).match("Free")
  }).map(function(key){
    return r.object(key,doc(key))
  })
})  

基本上,您需要过滤各自值为“ Free”的所有键。然后返回键和值