【问题标题】:Get a list of all existing partitions in couchDb获取 couchDb 中所有现有分区的列表
【发布时间】:2021-06-11 13:24:20
【问题描述】:

我有一个分区的 CouchDB 数据库。是否有任何查询来获取特定数据库中所有分区的列表?我在 CouchDb 文档中没有找到类似的内容。

【问题讨论】:

    标签: couchdb partition


    【解决方案1】:

    考虑在 CouchDB 开发邮件列表中阅读此主题:https://lists.apache.org/thread.html/re1791021d16acc04adaf414eba31950063065e1e8761f0307dcc8bfd%40%3Cdev.couchdb.apache.org%3E

    简而言之,这没有端点,但您可以逐步创建视图或遍历分区。

    【讨论】:

      【解决方案2】:

      没有端点只是列出所有数据库的分区状态,但是/_dbs_info端点已经足够接近了,只需要一点处理。

      这是我使用nanonodejs 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。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多