【发布时间】:2012-01-17 02:53:46
【问题描述】:
有没有一种在 CouchDB 中获取数据库中所有 id 的好方法?我见过this solution,但这似乎有点骇人听闻,必须有更好的方法。
如果我确实使用了该解决方案,它的扩展性如何?在数据库中找到所有 100,000 个文档的 id 需要多长时间?
【问题讨论】:
标签: couchdb
有没有一种在 CouchDB 中获取数据库中所有 id 的好方法?我见过this solution,但这似乎有点骇人听闻,必须有更好的方法。
如果我确实使用了该解决方案,它的扩展性如何?在数据库中找到所有 100,000 个文档的 id 需要多长时间?
【问题讨论】:
标签: couchdb
该问题的解决方案是最佳答案。 (我只是对其进行了编辑以使其更清晰。)
您担心它给人的感觉是 hackish 是有道理的。但是,使用_all_docs 是值得的。首先,它非常高效且可扩展。文档 ID 列表已存储在 CouchDB 中。获取 100,000 个 ID(当然没有 ?include_docs=true)会非常快。
其次,_all_docs 响应提供了足够的结构(JSON 行),而不是像纯文本列表那样长期有用。 (用不了多久,您就需要批量 1,000 个,或者只需要以“m”开头的 id 等)
【讨论】: