我正在尝试为分页实现上一页功能,我认为使用endkey参数将返回上一页的行,其中最后一行将等于endkey.但是,甚至可以在没有startkey的情况下使用endkey参数进行查询吗?
例如:
http://something.com:5984/db3/_design/app/_view/a_view?limit=5&endkey=["ABC","6L","201112"]&descending=false
当我运行此查询时,最后一行的键不等于我指定的结束键.相反,似乎CouchDB只是抓取视图中的前5行并完全忽略了endkey参数.
查询endkey但不会startkey隐式地工作&startkey=null.也就是说,CouchDB将从第一行的第一个键开始并继续直到它到达endkey.
CouchDB始终从其启动键启动响应,并从其值limit或endkey值(以先到者为准)停止响应.
要获取最后 5行,您需要向后扫描(降序),然后您的启动键就在您需要的位置.
?limit=5&startkey=["ABC","6L","201112"]&descending=true
Run Code Online (Sandbox Code Playgroud)
结果将按逆转(降序!)顺序排列.您可以在客户端中反转它们(它只有五行),或者_list在发送响应之前在CouchDB中编写一个函数来反转它们.
| 归档时间: |
|
| 查看次数: |
1181 次 |
| 最近记录: |