因此,为我运行脚本的朋友将couchdb数据库中的所有文档都获取到json文件。该文件看起来像这样。
{"total_rows":3,"offset":0,"rows":[
{"id":"1410","key":"1410","value":{"rev":"1-4057566831"},"doc":{"_id":"bar","_rev":"1-4057566831","name":"jim"}},
{"id":"1411","key":"1411","value":{"rev":"1-2842770487"},"doc":{"_id":"baz","_rev":"1-2842770487","name":"trunky"}}
]}
所以现在我有一个60MB的json文件,想把它放回本地托管的couchdb数据库。
curl -X POST -d @jsonfile.json 127.0.0.1:5984/db_name/_bulk_docs
不起作用。它告诉我该文件不是json。甚至指明它的json也不起作用。
所以现在我有一个json文件,我似乎无法将它放入数据库中。有任何想法吗?
答案 0 :(得分:1)
这适用于使用CouchDB 1.6.0的OSX上的curl -d @data.json -H "Content-Type: application/json" -X POST http://127.0.0.1:5984/test/_bulk_docs
。
可能会发生两件事。
-d
会自动将内容类型设置为application / x-www-form-urlencoded。 1因此您需要加入-H 'Content-Type:application/json' -H 'Accept: application/json'
。
同样,_bulk_docs
规范2需要的结构与视图或_all_docs
的标准回复不同。
{
"docs" : [
{"_id":"1","name":"calvin"},
{"_id":"2","name":"hobbes"}
]
}