Azure cosmosdb 当Where子句数据位于子数组中时,如何查询CosmosDB?

Azure cosmosdb 当Where子句数据位于子数组中时,如何查询CosmosDB?,azure-cosmosdb,azure-cosmosdb-sqlapi,Azure Cosmosdb,Azure Cosmosdb Sqlapi,我有以下文件 { "id": "46c0ccbc-7a05-41dc-bc33-e9d1e69b74fa", "_id": "5bf8b90f9568cf0001463719", "vendor": "XXX", "updatedAt": "2018-11-26T02:17:59.311Z", "locales": [ { "title": "351011", "description": "

我有以下文件

{
    "id": "46c0ccbc-7a05-41dc-bc33-e9d1e69b74fa",
    "_id": "5bf8b90f9568cf0001463719",
    "vendor": "XXX",
    "updatedAt": "2018-11-26T02:17:59.311Z",
    "locales": [
        {
            "title": "351011",
            "description": " ",
            "categories": [
                "Children",
                "Accessories"
            ],
            "brand": null,
            "images": [
                "https://lp.example.com/app006prod?set=source[02_0690165_001_001],type[PRODUCT],device[hdpi],quality[80],ImageVersion[2018081]&call=url[file:/product/main]"
            ],
            "country": "SE",
            "currency": "SEK",
            "language": "en",
            "variants": [
                {
                    "artno": "example",
                    "urls": [
                        "https://www.example.com/en_sek/children/baby-newborn/product.cotton-cashmere-newborn-mittens-red.0690165001.html"
                    ],
                    "price": 120,
                    "stock": 15,
                    "attributes": {
                        "size": "One Size",
                        "color": "Burgundy"
                    }
                }
            ]
        }
    ],
    "_rid": "QEwcAOOf+rUHAAAAAAAAAA==",
    "_self": "dbs/QEwcAA==/colls/QEwcAOOf+rU=/docs/QEwcAOOf+rUHAAAAAAAAAA==/",
    "_etag": "\"00000e00-0000-0000-0000-5bfc890d0000\"",
    "_attachments": "attachments/",
    "_ts": 1543276813
}
我正在尝试编写一个简单的查询,其中列出了所有包含子类的文档

我尝试了以下查询,但它不起作用

SELECT * FROM c where c.locales.categories = "Children"
我假设我引用的子数组是错误的,但编写此查询的正确方法是什么?

您需要使用ARRAY\u CONTAINS函数


尝试以下操作:从c中选择*,其中数组_包含c.locales[0]。类别、子项

,您使用locales[0],因为如果我想要图像,它是第一个子数组,我将执行locales[1]?不,您仍将执行c.locales[0]。图像。这正是我发现CosmosDB SQL工作的方式。好吧,但是如果我想在变体数组下搜索artno呢?下面有dict,如何称呼它们?c.locales[0]。变体[0]。artno