我正在为一个使用mongo进行自动存储的汽车网站构建一个相当复杂的搜索公式。我发现其中大部分都非常简单。它目前支持按照车身风格,新车型/新车型等进行过滤。但是,我遇到了问题,它是新车和二手车默认的地方,因为它们都有单独的价格范围(计算低和高)价格基于每月付款范围)。我怎样才能做到这一点?
例如,如果它只是一个二手汽车,我们使用这个(CodeIgniter)代码:
$this->mongo_db->where('stock_type', 'used');
$this->mongo_db->where_between('internet_price', $amounts['bottom_amt_used'], $amounts['top_amt_used']);
我们为新车做类似的事情。自己工作得很好。我如何将这些结合起来以便找到
并将其与其他过滤器结合使用,例如WHERE body_style IN(...)?
我们正在使用CodeIgniter和Alex Bilbie的mongodb库,这可能会使这里的事情变得复杂,我在想。
答案 0 :(得分:0)
在Mongo shell中,查询非常简单。你可以使用类似的东西:
db.vehicle_stock.find({ $or: [ { stock_type: 'used', internet_price: { $gte: 123, $lte: 145 }}, { stock_type: 'new', internet_price: { $gte: 161, $lte: 184 }} ]});
你可以尝试与Alex Bilbie的图书馆类似的东西:
$this.mongo_db->where(array(
'$or' => array(
array( 'stock_type' => 'used', 'internet_price' => array( '$gte' => 123, '$lte' => 145 )),
array( 'stock_type' => 'new', 'internet_price' => array( '$gte' => 161, '$lte' => 184 ))
)
));