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

MongoDB 2.6.X如何查询多字段非指定值的文档

嘿,针对你在MongoDB 2.6.x里的文档过滤需求,我整理了两个实用的解决方案,帮你精准拿到想要的结果:

解决方案

方法1:直接匹配目标值(推荐)

既然你要保留的是action/play/move字段值为walk的文档,直接用$or操作符来匹配这三种场景就好,MongoDB 2.6完全支持这个语法:

db.yourCollection.find({
  $or: [
    { action: "walk" },
    { play: "walk" },
    { move: "walk" }
  ]
})

执行这个查询后,会精准筛选出符合条件的文档,结果就是你想要的:

{ "name" : "A", "action" : "walk" }
{ "name" : "D", "play" : "walk" }
{ "name" : "E", "move" : "walk" }

方法2:排除不需要的文档

如果你更习惯通过“排除不符合项”的思路来筛选,可以用$nor操作符把字段值为run_walk的文档全部排除:

db.yourCollection.find({
  $nor: [
    { action: "run_walk" },
    { play: "run_walk" },
    { move: "run_walk" }
  ]
})

这个查询会过滤掉所有action/play/move字段等于run_walk的记录,最终得到的结果和方法1完全一致。

小提示

  • 记得把代码里的yourCollection替换成你实际使用的集合名称哦
  • 因为你的每个文档只包含action/play/move中的一个字段,所以这两种方法的效果没有差异,选你觉得顺手的就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:21:27