Search code examples
couchdbcloudant

How to use elements in a nameless list in a query/selector?


I don't know how to query elements inside a nameless list in Cloudant. I can't seem to find any documentation about it and I'm starting to wonder if it's even possible?

So I have a JSON database containing this document:

{
    "something": {
        "object_name:" "test object",
        "something_else: [
            {
                "value": "test",
                "desc": "some test value
            },
            {
                "value": "another test",
                "desc": "some other test value
            }
        ]
    }
}

I tried building a selector like this:

{
    "selector": {
        "something": {
            "something_else": [
                {
                    "value:" "test"
                }
            ]
        }
    }
}

But that doesn't seem to work.

How do I have to build my selector so that I can successfully query JSON documents by the "value" contents?


Solution

  • Okay, I just found my own answer. Seems like you can use the "$elemMatch" operator. In my example, it would be as follows:

    {
    "selector": {
        "something": {
            "something_else": [
                "$elemMatch": {
                    "value:" "test"
                }
            ]
        }
    }
    

    }