В Rethink DB, как я могу получить пару ключ-значение в сценарии ниже? - PullRequest
0 голосов
/ 19 сентября 2018
{
 "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 голосов
/ 21 сентября 2018

Вы можете попробовать это

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))
  })
})  

В основном вам нужно отфильтровать все ключи, для которых соответствующее значение «Свободно».А затем вернуть ключ и значение

...