Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Querying array of nested objects

Tags:

rethinkdb

Say I have this JSON (sample - a real-life example can be found at apple itunes rss feed) stored in a RethinkDB table called 'test':

{
    "feed": {
        "entry": [
            {
                "title": {
                    "label": "Some super duper app"
                },
                "summary": {
                    "label": "Bla bla bla..."
                }
            },
            {
                "title": {
                    "label": "Another awsome app"
                },
                "summary": {
                    "label": "Lorem ipsum blabla..."
                }
            }
        ]
    }
}

How would I write a ReQL query in JavaScript in order to fetch the summary of all entries (entry) which have title containing the string "xyz"? I expect the query result to return an array of matching entry objects, not an array of matching feed.

like image 640
codeclash Avatar asked Feb 24 '14 00:02

codeclash


1 Answers

If I properly understood what you want to do, this query should be what you are looking for:

r.table("feeds").concatMap(function(doc) {
    return doc("feed")("entry")
}).filter(function(entry) {
    return entry("title")("label").match("xyz")
})
like image 184
neumino Avatar answered Dec 02 '22 21:12

neumino