我注意到一个新的$eq
运营商发布了MongoDB 3.0
,我不明白它的目的.例如,这两个查询完全相同:
db.users.find({age:21})
和
db.users.find({age:{$eq:21}})
有人知道为什么这是必要的吗?
我注意到一个新的$eq
运营商发布了MongoDB 3.0
,我不明白它的目的.例如,这两个查询完全相同:
db.users.find({age:21})
和
db.users.find({age:{$eq:21}})
有人知道为什么这是必要的吗?
问题是,当您使用某种查询生成器时,您必须以不同于比较的方式处理等式,因此
{ a : { $gt : 3 } }
{ a : { $lt : 3 } }
但是
{ a : 3 }
为了平等,这看起来完全不同.正如JohnnyHK已经指出的,这同样适用于$not
的合成.此外,与$eq
相比,您无需对用户提供的字符串进行$
次转义.因此,asked for alternatives that are syntactically closer人参与进来,并得到了实施.Jira罚单包含了一个较长的讨论,其中提到了所有这些要点.
$eq
运算符的更清晰语法在聚合框架中也可能有意义,以比较两个字段(如果实现了such a feature).
而且,这一功能显然是从2.5版开始出现的,当时是added to the documentation relatively late版.