Azure Cosmos DB - как получить атрибуты json из документа, аналогично извлечению имен столбцов из SQL таблицы - PullRequest
1 голос
/ 29 мая 2020
{  
  "Volcano Name": "Agua de Pau",  
  "Country": "Portugal",  
  "Region": "Azores",  
  "Location": {  
    "type": "Point",  
    "coordinates": [  
      -25.47,  
      37.77  
    ]  
  },  
  "Elevation": 947,  
  "Type": "Stratovolcano",  
  "Status": "Historical",  
  "Last Known Eruption": "Last known eruption from 1500-1699, inclusive",  
  "id": "d44c94b6-81f8-4b27-4970-f79b149529d3",  
  "_rid": "Sl8fALN4sw4BAAAAAAAAAA==",  
  "_ts": 1448049512,  
  "_self": "dbs/Sl8fAA==/colls/Sl8fALN4sw4=/docs/Sl8fALN4sw4BAAAAAAAAAA==/",  
  "_etag": "\"0000443f-0000-0000-0000-564f7b680000\"",  
  "_attachments": "attachments/"  
} 

В MS SQL у нас есть как показано ниже для чтения имен столбцов из таблицы.

выберите имя_столбца, тип_данных, максимальную длину_символа из INFORMATION_SCHEMA.COLUMNS, где table_name = 'table_name'.

Я ожидаю того же для документа db. возможно ли из приведенного выше образца документа с типом «Stratovolcano» получить json названия «Название вулкана», «Страна», «Регион», «Местоположение» ... et c

1 Ответ

1 голос
/ 29 мая 2020

Контейнер Azure Cosmos SQL - это контейнер элементов c schema-agnosti. Элементы в контейнере могут иметь произвольные схемы, в отличие от строк в таблице. Таким образом, Cosmos DB не сможет делать то, что вы просите.

В вашем случае похоже, что все ваши предметы будут иметь одинаковую схему. Итак, вы можете сделать «select * from c where c .id =« someid »» и вывести схему из перенастроенного элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...