获取 CouchDB 中的所有 id

Ric*_*ton 5 couchdb

有没有好方法获取 CouchDB 数据库中的所有 id?我见过这个解决方案,但它似乎有点黑客,必须有更好的方法。

如果我确实使用了该解决方案,它的扩展效果如何?比如说,在数据库中找到所有 100,000 个文档的 ID 需要多长时间?

Jas*_*ith 5

该问题的解决方案就是最佳答案。(我刚刚对其进行了编辑以使其更清晰。)

你担心它感觉很黑客是有道理的。然而,使用_all_docs是值得的。首先,它非常高效且可扩展。文档 ID 列表已存储在 CouchDB 中。获取 100,000 个 id(当然没有 ?include_docs=true)会非常快。

其次,响应提供了足够的结构(JSON 行),而不是纯文本列表,_all_docs从长远来看是有用的。(用不了多久,您就需要批量 1,000 个,或者只需要以“m”开头的 id 等)