pregmatch
pregmatch

Reputation: 2647

how to iterate and filter over rethinkdb db filed?

I have this in my db:

{
    "id": "d40110a1-c0ca-47e0-95ca-086e905dd53c",
    "somefiled": [
        {
            "city_name": "Aadorf",
            "de": "Aadorf",
            "en": "Aadorf",
            "fr": "Aadorf",
            "it": "Aadorf",
            "kanton_de": "Thurgau",
            "kanton_en": "Thurgovie",
            "kanton_fr": "Thurgau",
            "kanton_it": "Turgovia"
        },
        {
            "city_name": "Aarau",
            "de": "Aarau",
            "en": "Aarau",
            "fr": "Aarau",
            "it": "Aarau",
            "kanton_de": "Aargau",
            "kanton_en": "Argovie",
            "kanton_fr": "Aargau",
            "kanton_it": "Argovia"
        }//many more records here]
}

How can I extract all array elements in somefiled where value for kanton_en is Argovie?

Something like this:

r.db("test").table("table").getField("somefiled").filter(function(row){

  return row("kanton_en").eq("Argovie")
})

But that is of course returning nothing.

Upvotes: 1

Views: 26

Answers (1)

pregmatch
pregmatch

Reputation: 2647

Solved with:

r.db("test").table("test").getField("somefiled").concatMap(function(row){

  return row.filter(function(b){

    return b("kanton_en").eq("Argovie")
  })
})

Upvotes: 1

Related Questions