MongoDB聚合语法

时间:2016-04-26 05:35:38

标签: mongodb aggregation-framework

我正在测试一个示例数据库,我的查询没有返回任何内容,直到我在 $ gt 查询运算符中保存整数值的变量之前放置了(+)字符。请提供一些见解。

var mongo = require('mongodb').MongoClient;
var age = process.argv[2];
// console.log(process.argv);

var url = 'mongodb://localhost:27017/learnyoumongo';

mongo.connect(url, function(err, db){
    if (err) throw err;
    var parrots = db.collection('parrots');
    parrots.count({
        "age": {$gt: +age} // What does (+) do?
    }, function(err, data){
        if (err) throw err;
        console.log(data);
        db.close();
    });
});

1 个答案:

答案 0 :(得分:2)

因为mongodb中的age字段是整数类型,所以使用$gt比较运算符仅在比较整数时有效。 在这种情况下,+符号是 unary 运算符,它返回对象process.argv[2]的数字表示形式。它可以转换整数和浮点数的字符串表示形式,以及非字符串值truefalsenull