这是我的 JSON 数据,它存储在 cosmos db 中
{
"id": "e064a694-8e1e-4660-a3ef-6b894e9414f7",
"Name": "Name",
"keyData": {
"Keys": [
"Government",
"Training",
"support"
]
}
}
现在我想编写一个查询来消除keyData
并仅获取Keys
(如下所示)
{
"userid": "e064a694-8e1e-4660-a3ef-6b894e9414f7",
"Name": "Name",
"Keys" :[
"Government",
"Training",
"support"
]
}
到目前为止,我尝试了这样的查询
SELECT c.id,k.Keys FROM c
JOIN k in c.keyPhraseBatchResult
这不起作用。
更新1:
尝试使用 Sajeetharan 现在我可以获得结果,但问题是它在数组内生成另一个 JSON。
喜欢
{
"id": "ee885fdc-9951-40e2-b1e7-8564003cd554",
"keys": [
{
"serving": "Government"
},
{
"serving": "Training"
},
{
"serving": "support"
}
]
}
有没有什么方法可以只提取数组而无需再次使用 key
value
pari?
{
"userid": "e064a694-8e1e-4660-a3ef-6b894e9414f7",
"Name": "Name",
"Keys" :[
"Government",
"Training",
"support"
]
}
最佳答案
你可以试试这个,
SELECT C.id, ARRAY(SELECT VALUE serving FROM serving IN C.keyData.Keys) AS Keys FROM C
关于list - Azure Cosmos 查询转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55090015/