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

MongoDB查询:返回至少包含指定两个标签的文档

MongoDB查询数组字段同时包含多个指定元素的文档

要查询tags数组同时包含"tagOne"和"tagTwo"(允许包含其他标签)的文档,可以用以下两种方法:

方法1:使用$all操作符(推荐)

$all操作符专门匹配数组字段包含所有指定元素的文档,完全贴合你的需求:

db.getCollection("documents").find({ 'tags': { $all: ['tagOne', 'tagTwo'] }})

执行该查询后,会返回Document2和Document3两个文档,符合预期结果。

方法2:使用$and组合匹配条件

如果需要更灵活的逻辑扩展,也可以用$and组合多个数组匹配条件,效果和$all一致:

db.getCollection("documents").find({
  $and: [
    { 'tags': 'tagOne' },
    { 'tags': 'tagTwo' }
  ]
})

核心区别说明

  • $in是匹配数组包含任意一个指定元素的文档,所以会返回全部三个文档;
  • $all是匹配数组包含全部指定元素的文档,这正是你需要的逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 05:23:15