list - Azure Cosmos 查询转换为列表

标签 list azure azure-cosmosdb

这是我的 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/

相关文章:

azure - 我需要一个 powershell 脚本/CLI/API 来计算在我的 Azure 订阅上运行的所有虚拟机(Windows 和 Linux)的运行(维护)时间

azure - 无法添加 DSC 扩展 JSON ARM

azure - 为什么 Azure Blob 存储返回 201,但不上传?

linq - 如何使用 DocumentDb、LINQ 和 F# 返回多个属性?

Azure 机器学习工作室 - 从 Cosmos Db 导入

c# - 是否可以将 ComboBox DisplayMember 设置为列表中对象的属性?

c++ - 在单链表上实现模板的问题

C++ 内部类 Ctor 和参数

azure - 如何在DocumentDB中衡量RU?

python - 如何动态获取json路径并用路径修改json字段值