我有包含“日期”和“组”字段的文档。这是我的观点:
byDateGroup: {
map: function(doc) {
if (doc.date && doc.group) {
emit([doc.date, doc.group], null);
}
}
}
什么是等效的查询:
select * from docs where group in ("group1", "group2") order by date desc
这个简单的解决方案没有进入我的脑海。 :(
最佳答案
Pankaj,将您发出的 key 的顺序切换为:
emit([doc.group, doc.date], doc);
然后你可以在查询 View 时传入一个开始键和一个结束键。为要为其提取数据的每个组执行单独的查询可能会更容易。数据将按日期排序。
我现在正在出去,但如果不清楚,可以在我回来时详细说明。
关于view - 需要一个 CouchDB 技巧来按日期排序并按组过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10142850/