CouchDB视图:total_rows vs offset vs rows?

时间:2016-01-15 06:48:24

标签: couchdb

我正在向CouchDB发出POST请求,其中包含正文中的键列表。

这是关于Stack Overflow上一个问题的跟进:CouchDB Query View with Multiple Keys Formatting)。

我看到结果在这种情况下返回了711行,偏移量为209.对我来说,偏移意味着已被截断的有效结果 - 您需要转到下一页才能看到它们。

我感到困惑,因为偏移,行和我实际得到的东西似乎并没有加起来。这些是我得到的结果:

{
  total_rows: 711,
  offset: 209,
  rows: [{
    id: 'b45d1be2-9173-4008-9240-41b01b66b5de',
    key: 2213,
    value: [Object]
  }, {
    id: 'a73d0b13-5d36-431f-8a7a-2f2b45cb480d',
    key: 2214,
    value: [Object]
  }, 
    etc BUT THERE ARE ONLY 303 OBJECTS IN THIS ARRAY????
  ]
}

2 个答案:

答案 0 :(得分:4)

你还没有提供你正在使用的查询参数,所以我必须要有点一般。

total_rows值是视图本身的总行数。 offset是给定查询的第一个匹配行的视图中的索引。匹配查询参数的行数在rows数组中返回,其总数很容易获得。

如果视图中没有直接键查询的条目,则偏移值是视图中的索引,如果条目具有所需的键,则该条目将为该条目。

答案 1 :(得分:0)

似乎偏移量是指在找到与关键条件匹配的第一个文档之前的文档数量。

然后行是符合条件的所有文档。

即。 rows返回与键条件匹配的所有文档,offset指示视图返回的所有文档中的“索引”,即找到与键条件匹配的第一个文档。

如果这不正确,请告诉我。)