首页 > 解决方案 > couchdb 显示不同的记录计数与分页?

问题描述

我想计算一下 couchDB 有多少条数据库记录。所以点击下面的 API,它会返回包含记录数的 json。

   GET http://localhost:20984/mydb/

json

{
    "db_name": "mydb",
    "update_seq": "25577-g1AAAAFLeJ4mDJtXMoSQMrqYcpacSjLYwGSDA1ACqhyPljpJ7xKF0CU7gcrXYlX6QGI0vtgpWJ4lT6AKIW4tTYLACqwZ0c",
    "sizes": {
        "file": 20881199,
        "external": 11977342,
        "active": 16542736
    },
    "purge_seq": 0,
    "other": {
        "data_size": 11977342
    },
    "doc_del_count": 0,
    "doc_count": 25569,
    "disk_size": 20881199,
    "disk_format_version": 6,
    "data_size": 16542736,
    "compact_running": false,
    "cluster": {
        "q": 8,
        "n": 1,
        "w": 1,
        "r": 1
    },
    "instance_start_time": "0"
}

所以我假设总记录doc_count是。2556925569

但是当我设置document_per_page为 100 并开始查看记录时,它会显示第一页的 100 条记录和 2 页的 200 条记录等等。如果我继续这样做,它向我展示的不仅仅是35000记录。

现在我的问题是,如果总记录是25569那么 couchDB 向我显示的记录多于 35000分页?

标签: databasenosqlcouchdbcouchdb-mango

解决方案


你说得对doc_count,它报告指定数据库中的文档数。

假设您使用的是Fauxton,并且在那里,您将“每页文档数”切换为 100,我能够重现所描述的行为。当我在短时间内反复按下一个箭头时,显示的数据和分页器上的数字不同步。因此,这似乎是 Fauxton 的错误。


推荐阅读