2016-05-23 118 views
2

是否有可能使用猫鼬在两个字段的连接上进行搜索。猫鼬在字段组合上找到

像这样的东西从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

您需要使用aggregate()方法来做到这一点。

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