首页 > 解决方案 > ARRAY_CONTAINS 可以在 Cosmos 中接受多个值吗

问题描述

如果我想匹配 Array_contains 中一个属性的多个值,你有样本吗

select * from c where c.sid="1" and c.unum=39 and ARRAY_CONTAINS (c.dcodes,"DIST,DEFT") 其中 dcodes 是我的数组,其中只有我的文档中的代码列表。所以我想提取我传递给查询的 dcode 的所有记录,它可能是一个或多个。

标签: azureazure-cosmosdb

解决方案


您目前只传递一个字符串。您需要将一组值作为您的第一个参数传递给ARRAY_CONTAINS(). 因此,在您的情况下,如果您想选择属性c.dcodes包含"DIST"or的所有文档"DEFT",您需要执行以下操作:

SELECT *
FROM c
WHERE c.sid="1" and c.unum=39
AND ARRAY_CONTAINS (["DIST","DEFT"],c.dcodes) 

推荐阅读