有没有办法在 CosmosDB 中使用 c.*?

Is there a way to use c.* in CosmosDB?

我正在尝试 运行 CosmosDB 中的查询,但我似乎无法按照我想要的方式获得结果。

这是查询:

SELECT c FROM c
JOIN p in c.Data.packages 
WHERE p.packageId ="ID_9DACF11F-31F1-45C0-9A99-7ED846F9226E"

有没有办法在没有“c”的情况下获得以下结果:

[
    {
        "c": {
            "id": "ID-6A23-432D-B862-4342D6B8C6F0",
            "prop1": "value",
            "prop2": "value",
            "Data": {
                "date": "2020-01-30T18:21:57",
                "packages": [
                    {
                        "packageId": "123"
                    }
                ]
            }
        }
    }
]

如:

[
    
        {
            "id": "ID-6A23-432D-B862-4342D6B8C6F0",
            "prop1": "value",
            "prop2": "value",
            "Data": {
                "date": "2020-01-30T18:21:57",
                "packages": [
                    {
                        "packageId": "123"
                    }
                ]
            }
        }
    
]

我知道我可以使用 c.id、c.prop1 等。但是我有更多的属性,将来很难维护。那么有什么办法可以实现吗?

基本上是在寻找这样的东西:

SELECT c.* FROM c
JOIN p in c.Data.packages 
WHERE p.packageId ="ID_9DACF11F-31F1-45C0-9A99-7ED846F9226E"

但这显然行不通。任何帮助表示赞赏!

对于具有多个别名的查询,请改用 VALUE c

SELECT VALUE c FROM c
JOIN p in c.Data.packages 
WHERE p.packageId ="ID_9DACF11F-31F1-45C0-9A99-7ED846F9226E"

文档:https://docs.microsoft.com/en-us/azure/cosmos-db/sql-query-select