我的CouchDB中有5680个文档。
我用以下内容减少了它:
function(doc) {
if (doc.address.country && doc.cats) {
for (i = 0; i < doc.cats.length; i++) {
emit([doc.address.country, doc.cats[i].id], doc);
}
}
}
运行我的观点: MyView的键= [&#34; CC&#34;&#34;类别&#34;]?
返回预期结果(25项)。
然而,回复中有一个字段:
{"total_rows":5680,"offset":5655, ...
total_rows count是我的完整数据集,不仅是与我的查询匹配的数据集。有没有办法在结果中查看匹配的行?
我想防止重复地图代码只是添加一个reduce函数。另外,我想防止两个http请求仅用于该信息。
对我来说,这些信息对于实现像分页这样的东西很有用。
我读过这个: http://docs.couchdb.org/en/1.6.1/couchapp/views/pagination.html
但是他们并没有对我的数据行的有限子集进行分页。
正如我发现的那样,简单地从总行中减去偏移量当然不会起作用。
如何在回复中获得正确的total_rows数量,或者我的用例中的最佳做法是什么?
谢谢!
答案 0 :(得分:0)
total_rows
值是视图中的总行数。如果视图显示数据库中的所有行,那么它将是相同的值。您是正确的,它不是该查询中返回的行数。查询中返回的行数不会显示为单独的值,但通过获取返回的行数组的长度可以轻易找到。