SQL-запрос Cosmos DB для вложенных объектов

У меня есть коллекция учетных записей в Cosmos DB. Я пробовал разные запросы, но не смог получить эквивалентный SQL-запрос для получения только учетных записей, для которых выбрана подписка.

Я пробовал этот запрос, но не смог

SELECT     *
FROM account a
JOIN s IN c.subscriptions
WHERE s.id = "e5969a3c-2729-cb3c-a01b-2e62e0473646"

Записи о сборе аккаунта

[
  {
    "id": "8c549b95-480e-47f9-acd6-13339179399f",
    "odoo_id": "UpdatedDAta",
    "entity_name": "Lakes High School123",
    "entity_type": "family | teacher | school | district",
    "contacts": [
      {
        "name": "Mr. Garcia1",
        "email": "[email protected]"
      },
      {
        "name": "Mr. Garcia3",
        "email": "[email protected]"
      }
    ],
    "subscriptions": [
      {
        "id": null,
        "type": "group | profile",
        "group_name": "Year 4",
        "teachers": [
          "Ms Jones"
        ],
        "start_date": "25/7/2018",
        "end_date": "24/7/2019",
        "seats": 4,
        "group_key": "red-limping-pigeon"
      },
      {
        "id": "e5969a3c-2729-cb3c-a01b-2e62e0473646",
        "type": "group | profile",
        "group_name": "Year 4",
        "teachers": [
          "Ms Jones",
          "Waqar"
        ],
        "start_date": "25/7/2018",
        "end_date": "24/7/2021",
        "seats": 4,
        "group_key": "red-limping-pigeon"
      }
    ],
    "_rid": "bjcNANQrW3oGAAAAAAAAAA==",
    "_self": "dbs/bjcNAA==/colls/bjcNANQrW3o=/docs/bjcNANQrW3oGAAAAAAAAAA==/",
    "_etag": "\"01001c87-0000-0000-0000-5b7966850000\"",
    "_attachments": "attachments/",
    "_ts": 1534682757
  }
]

person SOF User    schedule 19.08.2018    source источник


Ответы (1)


Пожалуйста, используйте ниже sql для получения ваших документов:

SELECT * FROM c
where ARRAY_CONTAINS(c.subscriptions,{"id": "e5969a3c-2729-cb3c-a01b-2e62e0473646"},true)

Array Contains может возвращать логическое значение указывает, содержит ли массив указанное значение.

Надеюсь, это поможет тебе.

person Jay Gong    schedule 20.08.2018