Azure Cosmos DB - заводите детей только с Self JOIN - PullRequest
0 голосов
/ 08 января 2020

Я изо всех сил пытаюсь получить желаемый результат от Cosmos DB.

Моя коллекция может быть представлена ​​в виде:

[{
   ...,
  "category": null
  "code": "A."
},
{
   ...
  "category": "A."
  "code": "A2."
},
{
   ...,
  "category": "A."
  "code": "A1."
},
{
   ...,
  "category": "A1."
  "code": "A12."
}]

Где каждый документ может быть связан с другим через категорию field.

Я хотел бы получить только последние дочерние элементы: те, чье свойство code не используется в качестве категории в другом документе, поэтому при предыдущем наборе данных желаемый результат будет: [{..., " Категория ":" А. " "код": "А2." }, {..., "category": "A1." "код": "A12." }]

В SQL я мог бы написать это так:

SELECT c.code FROM c WHERE c.code NOT IN (SELECT category FROM c)

1 Ответ

0 голосов
/ 08 января 2020

Вы можете попытаться использовать Array_Slice, чтобы получить последний элемент в массиве. Пожалуйста, обратитесь к этой ссылке .

enter image description here

SELECT ARRAY_SLICE(array,-1)[0] FROM c
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...