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
Post a Comment