我有场“日期”和“组”文件。 这是我的看法:
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
这个简单的解决方案是不进入我的头。 :(
潘卡,切换你发射到这个键的顺序:
emit([doc.group, doc.date], doc);
然后,你可以在开始键和结束键查询视图时通过。 这可能是比较容易做,你想拉的数据为每个组一个单独的查询。 这些数据将按照日期排序。
我对我目前的出路,但能更详细我回来的时候,如果它是不明确的。
为什么不?
function(doc) {
if (doc.date && ["group1", "group2"].indexOf(doc.group) !== -1)) {
emit([doc.date, doc.group], null);
}
}
你需要为这个特定的观点:
byDateGroup1Group2: {
map: function(doc) {
if (doc.date && doc.group && (doc.group === "group1" || doc.group === "group2") {
emit(doc.date, doc);
}
}
}
您使用的查询查询(在列表功能大概) descending=true
。