所以我正在尝试通过nodeschool和本地服务器学习mongodb,我在练习中注意到,如果我没有为变量添加前缀,我将与'+'字符进行比较,我没有得到任何回复我
以下是有问题的实际函数,arg
是用户输入的命令行中的第一个参数:
parrots.find({
age: {$gt: arg}
},
{name: 1, age: 1, _id: 0}).toArray(function(err, documents) {
if (err) {
throw err
}
console.log(documents);
db.close();
});
但是,如果我只是编辑我检查年龄是否大于用户提供的年龄的行
age: {$gt: +arg}
突然我得到了一个JSON对象,它返回给我在数据库中。
我只是不确定为什么age: {$gt: arg}
不起作用,因为即使在find
方法的文档中,也没有使用+
谢谢
答案 0 :(得分:2)
来自命令行的参数是String
s,+arg
语法是将该字符串强制转换为JavaScript Number
的简写。它不是Mongo特有的,只是一个JS特质。