我目前正在尝试创建一个视图和查询来适应此 SQL 查询:
SELECT * FROM articles
WHERE articles.location="NY" OR articles.location="CA"
ORDER BY articles.release_date DESC
我尝试创建一个带有复杂键的视图:
function(doc) {
if(doc.type == "Article") {
emit([doc.location, doc.release_date], doc)
}
}
然后使用startkey and endkey检索一个位置并在发布日期订购结果。
.../_view/articles?startkey=["NY", {}]&endkey=["NY"]&limit=5&descending=true
这很好用。
但是,如何将多个开始键和结束键发送到我的视图以模仿
WHERE articles.location="NY" OR articles.location="CA"
?
我的宿敌多米尼克是对的。
此外,它是永远不可能在 CouchDB 中按条件 A 查询,然后按条件 B 排序。为了弥补这种不便,CouchDB 保证了可扩展、可靠、对数的查询时间。你有一个选择。
- 将视图输出存储在its own数据库,并创建一个新视图以按条件 B 排序
-
or, sort the rows afterward, which can be either
- 收到行后,在客户端进行排序
- 在服务器端排序
_list
功能。这很棒,但请记住它最终无法扩展。如果您有数百万行,_list
函数可能会崩溃。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)