list - Azure Cosmos 查询转换为列表
问题描述
这是我的 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"
}
]
}
有没有什么方法可以只提取 Array 而没有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
推荐阅读
- ios - 从 Testflight 安装同一应用程序的不同构建版本时,UserDefaults 正在消失
- symfony - symfony 如何为 php 翻译读取语言环境
- hyperledger-fabric - 在 HYPERLEDGER Fabric 的链码中调用合约形成另一个合约
- azure - 无法在 Azure DevOps 中删除或重命名 wiki 文章
- inno-setup - 使用 SC 在 Inno Setup 中设置服务属性
- postgresql - 将 Json 数组插入 Postgresql 时出错
- swift - Swift 5.1:如何在一种类型的集合上调用 map 并返回另一种不同类型的集合?
- angular - 升级到 Angular 8 后未定义 JustGage
- html - 在 html 中执行两个 css 翻译时闪烁
- pandas - 将文件视为目录的 Databricks