Получение значений из массива в Cosmos Db - PullRequest
0 голосов
/ 30 июня 2019

Мой документ, который я сохраняю в Cosmos DB, выглядит следующим образом:

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

Как вы можете видеть, в свойстве myProperty у меня есть массив значений GUID, и я хочу прочитать их какмассив / список значений GUID, но у меня возникают проблемы с формулировкой правильного оператора SELECT.

Вывод, который я ищу:

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

Ближайший, который я мог получитьэто утверждение `SELECT:

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

Но это тоже не дает мне того, чего я хочу.Это дает мне массив внутри массива, т.е.

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

Как должен выглядеть мой оператор SELECT, чтобы получить то, что я хочу?

1 Ответ

0 голосов
/ 30 июня 2019

Я не думаю, что вы когда-нибудь сможете получить что-то еще, потому что dos cosmos всегда будет возвращать массив в ответ на запрос, потому что потенциально могут быть результаты с 0-бесконечностью. так что вы всегда получите массив верхнего уровня, который обернет все ваши результаты (даже если у вас есть только один)

...