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

MongoDB中$and运算符与隐式and查询结果不一致问题咨询

结论

这不是隐式AND的已知BUG,是你的隐式AND写法存在语法错误。

原因说明

  • MongoDB隐式AND的生效前提是:同一查询对象内的多个并列查询条件未显式指定逻辑运算符,且不存在重复的顶级键。
  • 你所写的隐式写法{ VRT_Cvert: {$gte: -1.41}, VRT_Cvert: {$lte: -1.39} },属于在同一个BSON对象内重复声明VRT_Cvert键。遵循JSON/BSON的通用规则,同一对象内的重复键会被后声明的内容覆盖,因此该查询实际生效的只有{ VRT_Cvert: {$lte: -1.39} }这一个条件,自然会返回超出-1.41下限的不符合要求的文档。

正确的隐式AND写法

针对单字段多查询条件的场景,需要把多个运算符放在同一个字段的配置对象内,才能触发正确的隐式AND逻辑:

{ VRT_Cvert: {$gte: -1.41, $lte: -1.39} }

该写法的查询结果和你提供的显式$and写法完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:57:03