我有一个分区的CouchDB数据库。是否有任何查询可以获取特定数据库中所有分区的列表?我在CouchDb文档中没有找到类似的内容。
gcxthw6b1#
考虑在CouchDB dev邮件列表中阅读此线程:https://lists.apache.org/thread.html/re1791021d16acc04adaf414eba31950063065e1e8761f0307dcc8bfd%40%3Cdev.couchdb.apache.org%3E简而言之,这没有端点,但是您可以创建视图或以增量方式遍历分区。
jobtbby32#
没有一个端点 * 只是 * 列出所有数据库的分区状态,但是/_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。
props
2条答案
按热度按时间gcxthw6b1#
考虑在CouchDB dev邮件列表中阅读此线程:https://lists.apache.org/thread.html/re1791021d16acc04adaf414eba31950063065e1e8761f0307dcc8bfd%40%3Cdev.couchdb.apache.org%3E
简而言之,这没有端点,但是您可以创建视图或以增量方式遍历分区。
jobtbby32#
没有一个端点 * 只是 * 列出所有数据库的分区状态,但是/_dbs_info端点经过少量处理就足够接近了。
下面是我使用nano和nodejs 10创建的一个简单脚本。该脚本显示数据库名称,如果数据库是分区的,则以星号(*)作为前缀。
我说幼稚是因为这个脚本没有考虑到系统中有大量的数据库、智能安全、
props
是否存在等问题--所以YMMV。