Node.js cloudant上搜索索引的分页
我有一个cloudant数据库,其中包含用于用户访问日志的文档。例如:Node.js cloudant上搜索索引的分页,node.js,pagination,cloudant,Node.js,Pagination,Cloudant,我有一个cloudant数据库,其中包含用于用户访问日志的文档。例如: { "name": "John Doe", "url": "somepage.html", "dateaccessed": "2016-08-23T21:20:25.502Z" } 我使用以下函数创建了搜索索引: function (doc) { if(doc.dateaccessed) { var d = new Date(doc.dateaccessed); index("datea
{
"name": "John Doe",
"url": "somepage.html",
"dateaccessed": "2016-08-23T21:20:25.502Z"
}
我使用以下函数创建了搜索索引:
function (doc) {
if(doc.dateaccessed) {
var d = new Date(doc.dateaccessed);
index("dateaccessed", d.getTime(), {store: true});
}
}
现在,此设置仅使用普通查询即可正常工作。范例
{
q: 'dateaccessed:[1420041600000 TO 1471987625266]',
include_docs: true,
sort: '-dateaccessed<number>',
}
{
问:“访问日期:[1420041600000至1471987625266]”,
包含文档:true,
排序:'-dateaccessed',
}
但是,我希望限制结果,比如说每次5个(可以使用“limit:5”参数完成),并且我想以某种方式进行分页,以便能够移动到下一个5个结果或前5个结果
我查看了cloudant文档,其中有一个名为“bookmark”()的参数,但我不确定如何使用它
我可以要求您对此有什么见解吗?显示了如何使用书签的示例,但要点是您在搜索响应中从服务器获得书签,当请求下一页时,您可以使用请求中收到的书签,并在JSON对象中的
bookmark
参数进行POST,或者在GET的查询参数中。显示了如何使用书签的示例,但要点是您在搜索响应中从服务器获得了书签,当请求下一页时,您使用请求中接收的书签以及POST的JSON对象中的bookmark
参数,或者在GET的查询参数中。1-我第一次执行了查询。2-从响应中检索书签并将其传递给下一个查询。我能够检索到下一组结果。有了这个,我可以创建上一个/下一个按钮,但对于实际的分页(页码),我不知道该怎么做。你不能。没有办法知道页数。您也无法确定是否在最后一页。你必须提出请求才能找到下一页。@rhyshort,事实并非如此。因为当你进行初始查询时,你会得到一个总行数。因此,一旦完成了初始查询,就可以进行分页了。1-我第一次执行了查询。2-从响应中检索书签并将其传递给下一个查询。我能够检索到下一组结果。有了这个,我可以创建上一个/下一个按钮,但对于实际的分页(页码),我不知道该怎么做。你不能。没有办法知道页数。您也无法确定是否在最后一页。你必须提出请求才能找到下一页。@rhyshort,事实并非如此。因为当你进行初始查询时,你会得到一个总行数。因此,完成初始查询后,就可以分页了。