View CouchDB视图-或和运算符

View CouchDB视图-或和运算符,view,key,operators,couchdb,View,Key,Operators,Couchdb,我想我遗漏了CouchDB视图的一些基本内容 比如说,我在数据库中存储汽车。我想买所有蓝色或红色的车,但不是绿色的,它们是本田的。但是这个查询是使用键的动态查询。怎么办 地图功能: function(car) { emit([car.color, car.make],car); } 我找不到一种方法来格式化键,使类似的事情成为可能。我也不喜欢这个映射函数,我只是想知道有人会如何处理这样的动态请求。您是否必须在沙发上尽可能缩小范围,然后对返回的数据进行更多处理?似乎应该有办法做到这一点

我想我遗漏了CouchDB视图的一些基本内容

比如说,我在数据库中存储汽车。我想买所有蓝色或红色的车,但不是绿色的,它们是本田的。但是这个查询是使用键的动态查询。怎么办

地图功能:

function(car) {
    emit([car.color, car.make],car);
}

我找不到一种方法来格式化键,使类似的事情成为可能。我也不喜欢这个映射函数,我只是想知道有人会如何处理这样的动态请求。您是否必须在沙发上尽可能缩小范围,然后对返回的数据进行更多处理?似乎应该有办法做到这一点…

一个选项是在查询中包含
参数:

http://localhost:5984/cars/_design/all-汽车/_查看/按颜色和品牌?钥匙=[[“红色”、“本田”]、[“蓝色”、“本田”]]

更可能的情况是,您有一个具有一系列不同特征的搜索页面,用户正在选择要搜索的值。他们可能会选择4门,全轮驱动,价格低于10000

您将无法创建视图以满足所有不同的组合。是解决这个问题的好办法


如果您使用cloudant.com,它会自动包含:

是的,我看到一些东西指向lucene。有关于如何启动和运行的好文章吗?git hub页面似乎有点复杂。。。