猫鼬找到田野组合

时间:2016-05-23 11:27:41

标签: node.js mongodb mongoose aggregation-framework

是否可以使用mongoose搜索两个字段的串联。

来自Mysql的这样的东西:

select * from CARS where concat(make, model) = "<car name>";

说,我的汽车架构如下:

var carSchema = new mongoose.Schema({
    model: String,
    make: String,
});

var Car =  mongoose.model('Car', carSchema);

以下是可能的事情:

Car.find( {make + model : <car name>}, function(err, car) {

});

1 个答案:

答案 0 :(得分:1)

您需要使用aggregate()方法执行此操作。

Car.aggregate(
    [
        { "$redact": { 
            "$cond": [ 
                { "$eq": [ 
                    { "$concat": [ "$make", " ", "$model" ] },
                    "<car name>"
                ]},
                "$$KEEP",
                "$$PRUNE"
            ]
        }}
    ],
    function(err, car) {
        // Do something
    }
)