在Cosmos DB中迭代数组

问题描述 投票:0回答:1

我有一个Cosmos DB,其中有一个名为Auditlog的文件。简化结构如下:

[
    {
        "id": "1",
        "name": "A",
        "messages": [
            {
                "gps": {
                    "src": "GPS"
                },
                "ts": "0"
            }
        ]
    },
        {
        "id": "2",
        "name": "B",
        "messages": [
            {
                "gps": {
                    "src": "DR"
                },
                "ts": "1"
            }
        ]
    }
]   

我想过滤文档以获取所有具有src:GPS的条目。结果还需要显示ID。我不知道如何做到这一点。我尝试使用'IN'运算符,但没有运气。使用'IN'运算符使得无法显示ID。我试过了:

SELECT * FROM c
IN Auditlog.messages
WHERE c.gps.src = "GPS"

结果是正确的但我需要在结果中显示ID。以下只会产生一个空对象数组:

SELECT c.id FROM c
IN Auditlog.messages
WHERE c.gps.src = "GPS"

有人可以帮帮我吗?提前致谢。

问候

azure azure-cosmosdb
1个回答
1
投票

SELECT c.id as id FROM c join in a c.messages WHERE a.gps.src =“GPS”

结果将是

[{“id”:“1”},{“id”:“2”}]

© www.soinside.com 2019 - 2024. All rights reserved.