Sam
Sam

Reputation: 30356

Getting values from array in Cosmos Db

My document that I save in Cosmos DB looks like this:

{
   "id": "abc123",
   "myProperty": [
      "1905844b-6ca9-4967-ba40-a736b685ca62",
      "b03cc85c-ef0b-4f48-9c31-800de089190a"
   ]
}

As you can see, in the myProperty property, I have an array of GUID values and I want to read them as an array/list of GUID values but I'm having trouble formulating the correct SELECT statement.

The output I'm looking for is:

[
   "1905844b-6ca9-4967-ba40-a736b685ca62",
   "b03cc85c-ef0b-4f48-9c31-800de089190a"
]

The closest I could get is this `SELECT statement:

SELECT VALUE c.myProperty FROM c WHERE c.id = "abc123"

But this doesn't give me exactly what I want either. This gives me an array within an array i.e.

[
   [
      "1905844b-6ca9-4967-ba40-a736b685ca62",
      "b03cc85c-ef0b-4f48-9c31-800de089190a"
   ]
]

What should my SELECT statement look like to get what I want?

Upvotes: 1

Views: 952

Answers (1)

4c74356b41
4c74356b41

Reputation: 72211

I dont think you can ever get anything else, because cosmos db will always return an array in response to a query because potentially there can be 0-infinity results. so you will always get a top level array that will wrap all your results (even if you have only one)

Upvotes: 1

Related Questions