【发布时间】:2012-10-17 12:28:21
【问题描述】:
我有一个关于 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 为“premium”,食物为“breakfast”或“lunch”?
- 等
有什么想法吗?
编辑: 我现在决定使用好的旧mysql。 CouchDB 对我来说是一次不错的体验,但是如果您需要的不仅仅是一个文档的数据,那么问题就太多了 :(
【问题讨论】: