首页/数据/NoSQL 速查/数组查询 $all / $size / $elemMatch
本包目录(322 条)
MongoDB99 条
Elasticsearch89 条ClickHouse56 条时序与列式28 条选型与架构50 条

数组查询 $all / $size / $elemMatch

数组字段支持等值命中任一元素、$all 全含、$size 精确长度;$elemMatch 要求同一条元素满足多个条件。

NoSQL 速查数据更新于 2026-10-12
命中元素{tags: "mongo"}
全含$all: ["mongo", "index"]
长度$size: 3
同元素组合$elemMatch: {$gt: 80, $lt: 90}

示例

示例
db.posts.find({ tags: "mongo" })
db.posts.find({ tags: { $all: ["mongo", "index"] } })
db.posts.find({ scores: { $elemMatch: { $gt: 80, $lt: 90 } } })
$size 不能与其他条件共用同字段范围表达,精确长度判断只能单独写。

易错点

  • {scores: {$gt:80, $lt:90}} 可能由两个不同元素分别满足,组合条件务必用 $elemMatch

数据来源与参考

  • MongoDB Manual: Query an Array
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌