我有一个关于 couchdb views / map-reduce 的问题。
可以说,我们有一个包含酒店文档的数据库,如下所示:
[{
_id: "1",
name: "Hotel A",
type: "hotel",
stars: 3,
flags: ["family-friendly","green-hotel","sport"],
hotelType: "premium",
food: ["breakfast","lunch"]
}, {
_id: "2",
name: "Hotel B",
type: "hotel",
stars: 5,
flags: ["family-friendly","pet-friendly"],
hotelType: "budget",
food: ["breakfast","lunch","dinner"]
}]
要查找所有 3 星级酒店,以下视图将适合:
function(doc) {
emit([doc.stars, doc.name]);
}
如果我使用 startkey=[3],一切都很好。
但是如何使用多个过滤器制作视图呢?
例如 - 所有酒店:
- 带有 3 星和“家庭友好型”和“宠物友好型”标志以及 hotelType“预算”?
- 与hotelType“高级”和食物“早餐”或“午餐”?
- 等等
有任何想法吗?
编辑:我现在决定使用好的旧 mysql。CouchDB 对我来说是一次不错的体验,但是如果您需要的不仅仅是一个文档的数据,那么问题就太多了 :(