rethinkdb - How to use ReQL filter and match command on arrays -


i have table in rethinkdb each row has following structure -

{   'name':'clustername',   'services':[      {         'name':'service1'      },      {         'name':'service2'      }   ] } 

i running query filter service2 object this

r.table('clusters').filter({"name":  "clustername"})   .pluck('services').filter((service) => {       return service("name").match('service2')   }) 

but not returning anything: no results returned query

can tell why happening?

pluck returns sequence, query:

r.table('clusters').filter({"name":  "clustername"}).pluck('services') 

will return:

{      "services": [         {             "name": "service1"         } ,         {             "name": "service2"         }     ]  } 

you need services field it, return array services field of items found filter.

and after need use second filter on each item using map.

so, correct query:

r.table('clusters').filter({"name": "clustername"}).pluck('services')("services").map(item => {     return item.filter(service => {        return service("name").match("service2");     });  }) 

Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -