$ eq的目的是什么

耶韦雷

我注意到$eq发布了一个新的运算符MongoDB 3.0,但我不明白它的目的。例如,这两个查询完全相同:

db.users.find({age:21})

db.users.find({age:{$eq:21}})

有人知道为什么这是必要的吗?

奈莫辛

问题是当您拥有某种查询生成器时,您必须以不同于比较的方式处理相等性,因此

{ a : { $gt : 3 } }
{ a : { $lt : 3 } }

{ a : 3 }

为了平等,这看起来完全不同。$not正如JohnnyHK所指出这同样适用于的组成另外,与进行比较$eq可以使您不必$-escape用户提供的字符串。因此,人们要求在语法上更接近的替代方案得以实施。吉拉票包含一个较长的讨论,其中提到了所有这些要点。

如果实现了这样的功能$eq,则在聚合框架中比较两个字段也可能更有意义

同样,该功能自2.5以来就已经存在,相对较晚添加到文档中

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章