Javascript 为什么我必须使用+;在mongoDB查询中

Javascript 为什么我必须使用+;在mongoDB查询中,javascript,mongodb,Javascript,Mongodb,我正在做learnyoumongo教程来学习mongoDB 在第三个练习(查找教程)中,我无法让它工作,直到我找到了解决方案。我的错误是,查询在参数前面需要一个“+” 因此db.coll.find({$gt:process.argv[2]})不起作用,但{$gt:+process.argv[2]}起作用 也许这是一个愚蠢的问题,但那个加号是什么,我什么时候用它 它在常规javascript中也起作用吗?在这个上下文中,+是对数字的隐式转换进程。argv[2]将是一个字符串。+是一种快速、简单且通

我正在做learnyoumongo教程来学习mongoDB

在第三个练习(查找教程)中,我无法让它工作,直到我找到了解决方案。我的错误是,查询在参数前面需要一个“+”

因此
db.coll.find({$gt:process.argv[2]})
不起作用,但
{$gt:+process.argv[2]}
起作用

也许这是一个愚蠢的问题,但那个加号是什么,我什么时候用它


它在常规javascript中也起作用吗?

在这个上下文中,
+
是对数字的隐式转换<代码>进程。argv[2]将是一个字符串。
+
是一种快速、简单且通常安全的将其转换为数字的方法
$gt
需要一个数字来进行比较,而不是一个字符串,甚至是一个数字字符串。

长格式的方式是
{$gt:number(process.argv[2])}
,因为
+
的速记是相同的,是的,这在节点和浏览器javascript中都可以使用