Couchdb:使用curl从所有数据库中获取所有文档

时间:2015-09-23 09:22:55

标签: database curl get couchdb

我需要保存文件中所有数据库中所有文档的内容。我知道我可以通过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

但它没有用。

1 个答案:

答案 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请求中删除[]"