You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cosmo DB中筛选Targets数组同时含指定双值的Drill文档

Cosmos DB 筛选数组同时包含多个指定元素的文档

要筛选Targets数组中**同时包含"Power"和"Static Strength"**的Drill文档,你之前用的ARRAY_CONTAINS(["Power","Static Strength"], t)是“或”逻辑(满足任一即可),要实现“且”逻辑可以用下面两种方法:

方法一:多个ARRAY_CONTAINS条件用AND连接

直接分别检查数组是否包含每个目标值,只有同时满足才返回结果:

SELECT *
FROM c
WHERE c.Targets IS NOT NULL
AND ARRAY_CONTAINS(c.Targets, "Power")
AND ARRAY_CONTAINS(c.Targets, "Static Strength")

先判断Targets不为空可以避免空数组或null导致的查询错误,确保逻辑严谨。

方法二:用ARRAY_INTERSECT判断交集长度

通过计算原数组和目标值数组的交集,判断交集长度等于需要匹配的元素数量:

SELECT *
FROM c
WHERE c.Targets IS NOT NULL
AND ARRAY_LENGTH(ARRAY_INTERSECT(c.Targets, ["Power", "Static Strength"])) = 2

如果后续需要匹配更多元素,只需要修改ARRAY_INTERSECT的第二个参数数组,并把长度判断值改成对应数量即可。

内容的提问来源于stack exchange,提问作者littlevahn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 10:35:01