Azure cosmosdb 在与2字段组合的查询中

Azure cosmosdb 在与2字段组合的查询中,azure-cosmosdb,azure-cosmosdb-sqlapi,Azure Cosmosdb,Azure Cosmosdb Sqlapi,我在cosmos DB文档中有一个设备列表(数千个),Make和SerialNumber是每个资产的唯一标识符 [{ "make": "CAT", "serial": "A1", "NAME": "CAR" }, { "make": "ZAT", "serial": "B1", "NAME": "BUS" }, { "make": "CAT", "serial": "C1", "NAME": "TRUCK" }, {

我在cosmos DB文档中有一个设备列表(数千个),Make和SerialNumber是每个资产的唯一标识符

[{
    "make": "CAT",
    "serial": "A1",
    "NAME": "CAR"
},
{
    "make": "ZAT",
    "serial": "B1",
    "NAME": "BUS"
}, {
    "make": "CAT",
    "serial": "C1",
    "NAME": "TRUCK"
}, {
    "make": "ABC",
    "serial": "A1",
    "NAME": "Plane"
}, {
    "make": "ZAT",
    "serial": "A1",
    "NAME": "BIKE"
}
]
我需要根据以下输入设备输入,从上述文件中获取资产的完整详细信息

[{
    "make": "CAT",
    "serial": "A1"
},
{
    "make": "ZAT",
    "serial": "B1"
}, {
    "make": "CAT",
    "serial": "C1"
}
]
我使用下面的查询来获取完整的详细信息(我知道下面的查询不正确)。一般来说,我在一次查询中通过了100个串行设备

select * from t where serial in (A1,B1,C1) and make in (CAT,ZAT,CAT)
有没有办法将两个字段组合在一起写入查询

预期结果

A1猫

B1 ZAT


C1 CAT

Pankaj Rawat,请使用此查询sql,它可以满足您的要求

SELECT c FROM c where
ARRAY_CONTAINS([
    {"serialNumber":"A1","make":"CAT"},
    {"serialNumber":"B1","make":"ZAT"},
    {"serialNumber":"C1","make":"CAT"}
    ],
    {"serialNumber": c.serialNumber,
       "make":c.make}
    )
输出: