如何解决获取 couchDb 中所有现有分区的列表
我有一个分区的 CouchDB 数据库。是否有任何查询可以获取特定数据库中所有分区的列表?我在 CouchDb 文档中没有找到类似的内容。
解决方法
考虑在 CouchDB 开发邮件列表中阅读此主题:https://lists.apache.org/thread.html/re1791021d16acc04adaf414eba31950063065e1e8761f0307dcc8bfd%40%3Cdev.couchdb.apache.org%3E
简而言之,这里没有端点,但您可以增量地创建视图或遍历分区。
,没有端点只是列出所有数据库的分区状态,但是 /_dbs_info 端点足够接近,只需稍加处理。
这是我使用 nano 和 nodejs 10 编写的简单脚本。该脚本显示数据库名称,如果数据库已分区,则以星号 (*) 为前缀。
const nano = require("nano")("http://user:password@localhost:5984");
(async () => {
console.log("db list (* = partitioned)");
(
await nano.request({
method: "POST",path: "/_dbs_info",body: { keys: await nano.db.list() },})
).forEach((doc) => console.log(`${doc.info.props.partitioned ? "*" : " "} ${doc.key}`));
})();
我说幼稚是因为这个脚本没有考虑到诸如拥有大量数据库的系统、智能安全、是否存在 props
等 - 所以 YMMV。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。