You need to enable JavaScript to run this app. Cosmos SQL API如何基于数组内fileId等多条件查询条目是否存在
优惠活动
大模型
产品
解决方案
定价
更多

Cosmos SQL API如何基于数组内fileId等多条件查询条目是否存在

Cosmos SQL API 查询语句实现方案

你可以直接使用 Cosmos DB 内置的 ARRAY_CONTAINS 函数判断目标 fileId 是否在 fileIds 数组中,再叠加另外两个过滤条件即可实现需求:

1. 基础查询(返回所有匹配的条目)

SELECT * 
FROM c
WHERE 
    c.applicationId = @applicationId
    AND c.eventType = @eventType
    AND ARRAY_CONTAINS(c.fileIds, @targetFileId)

参数说明:

  • @applicationId 替换为你需要匹配的应用ID,比如示例中的 266c6ca3-e77c-4233-b780-b8dd69aa7349
  • @eventType 替换为你需要匹配的事件类型数值,比如示例中的 8
  • @targetFileId 替换为你需要校验是否存在的目标fileId值

2. 仅判断是否存在(性能最优)

如果不需要返回匹配条目详情,只需要判断是否有符合条件的记录,推荐使用以下写法,不需要加载全量文档,查询效率更高:

SELECT VALUE EXISTS(
    SELECT *
    FROM c
    WHERE 
        c.applicationId = @applicationId
        AND c.eventType = @eventType
        AND ARRAY_CONTAINS(c.fileIds, @targetFileId)
)

该语句会直接返回 true 或 false,直接对应是否存在符合条件的条目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 02:33:00