我需要保存文件中所有数据库中所有文档的内容。我知道我可以通过curl从一个数据库中获取所有文档:
curl -X GET http://localhost:5984/dbname/_all_docs?include_docs=true
我试试所有db:
curl -X GET http://localhost:5984/_all_dbs/_all_docs?include_docs=true
但它没有用。
答案 0 :(得分:2)
这样的脚本可能有效:
#!/bin/bash
string=$(curl -X GET http://localhost:5984/_all_dbs | sed 's/\[//' | sed 's/\]//' | sed 's/\"//g')
IFS=', ' read -a array <<< "$string"
for database in "${array[@]}"
do
$(curl -X GET http://localhost:5984/$database/_all_docs?include_docs=true >> allData.txt)
done
这将向每个数据库发送一个所有文档的请求,并将结果附加到allData.txt,您可能需要以某种方式将数据修复为您喜欢的格式,但是您将拥有它。
sed:s从第一个GET请求中删除[
,]
和"
。