Azure Cosmos DB-如何从文档中检索json属性,例如从SQL表中检索列名

时间:2020-05-29 14:53:14

标签: json azure-cosmosdb

{  
  "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中,我们像下面这样从表中读取列名。

选择column_name,data_type,character_maximum_length 来自INFORMATION_SCHEMA.COLUMNS 其中table_name ='table_name'。

我希望文档db也一样。可能吗 从上面具有“ Stratovolcano”类型的示例文档中检索json名称“ Volcano Name”,“ Country”,“ Region”,“ Location” ...等

1 个答案:

答案 0 :(得分:1)

Azure Cosmos SQL容器是与项目无关的架构容器。与表中的行不同,容器中的项目可以具有任意模式。因此,Cosmos DB将无法满足您的要求。

在您的情况下,所有项目看起来都具有相同的架构。因此,您可以执行“ select * from c where c.id =” someid“”并从重新调整的项目中推断模式。