按分页属性排序视图

时间:2016-12-13 20:50:08

标签: couchdb cloudant

假设我有1000个这样的项目:

{ "_id": "12345", "type": "item", "name": "whatever", "timestamp": 1481659373 }

我认为只抓取特定类型。

查看

function (doc) { emit([doc.type], doc._id); }

参数

startkey: ["item"]
endkey: ["item"]
include_docs: true

我知道我可以使用offsetlimit进行分页。但我试图先按降序抓取最新的时间戳。我看到有一个descending选项,但看起来你只将它设置为true,所以我不确定它的功能。

有没有人对如何做到这一点有任何指导?

1 个答案:

答案 0 :(得分:1)

如果您将Map功能修改为:

function (doc) { emit([doc.type, doc.timestamp], doc._id); }

然后视图中的键将按类型排序,然后按时间戳排序。

然后我们可以像这样查询视图:

startkey: ["itemz"]
endkey: ["item"]
descending: true
include_docs: true

首先获取最新的文档。 descending标记表示您希望项目的顺序相反,但您还必须确保startkey具有较大的价值。