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

MongoDB查询:匹配数组元素完全一致且长度符合的文档

MongoDB 查询数组完全匹配且长度符合要求的文档

你当前的查询存在两个核心问题:

  • $all 仅校验数组包含指定元素,而非完全匹配所有元素;
  • 你只传入了一个元素到$all中,导致只要长度为2的users数组包含该元素就会被返回,不符合「元素完全匹配」的需求。

方案1:不关心数组元素顺序(常用场景)

结合 $size 和 $all,将所有目标元素传入$all数组。这样既保证数组长度严格为2,又确保数组包含所有指定元素(等同于元素完全匹配,不考虑顺序):

db.conversations.find({
  users: {
    $size: 2,
    $all: [
      ObjectId("63844feadf507942caaf90e3"),
      ObjectId("638455e5fa983e9cf84c0f3f")
    ]
  }
})

方案2:要求数组元素顺序完全一致

如果需要严格匹配数组元素的排列顺序,直接精确匹配整个数组即可:

db.conversations.find({
  users: [
    ObjectId("63844feadf507942caaf90e3"),
    ObjectId("638455e5fa983e9cf84c0f3f")
  ]
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 15:10:36