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

如何使用CouchDB Mango Query筛选包含指定template_id的文档?

使用Mango查询CouchDB中包含特定template_id的文档

没问题,这事儿用Mango查询完全可以搞定,不用非得依赖视图。我给你两种实用的写法,你可以根据场景选:

写法一:用$elemMatch(扩展性更强)

如果你以后可能需要给template对象添加更多匹配条件(比如同时校验template_id和其他属性),这种写法更灵活:

{
  "selector": {
    "templates": {
      "$elemMatch": {
        "template_id": "你要查找的目标ID"
      }
    }
  }
}

$elemMatch的作用是告诉CouchDB:只要templates数组里至少有一个对象满足括号内的条件(这里就是template_id等于指定值),就返回该文档。

写法二:直接匹配属性路径(更简洁)

如果你的需求只是匹配特定template_id,直接用数组元素的属性路径就行,效果和上面完全一致:

{
  "selector": {
    "templates.template_id": "你要查找的目标ID"
  }
}

可选优化:指定返回字段

要是你不想返回文档的全部内容,还可以加上fields参数精准控制返回的字段,比如只返回文档ID、版本和templates数组:

{
  "selector": {
    "templates.template_id": "你要查找的目标ID"
  },
  "fields": ["_id", "_rev", "templates"]
}

内容的提问来源于stack exchange,提问作者james.c.funk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:27:23