我正在尋找一種使用Mathematica將文檔插入到CouchDb數據庫的方法。 基於this後,我嘗試使用下面的代碼:使用Mathematica將文檔插入到CouchDb
InsertDocument[key_, value_] :=
With[{url =
"http://couchdburl/database/"},
Import[url, "XML", "RequestMethod" -> "POST",
"RequestParameters" -> {"key" -> key, "value" -> value}]]
但是當我嘗試這樣執行它,比如:
InsertDocument[110, 1]
我收到以下錯誤:
Import::erropts: The value {key->110,value->1} specified for the option RequestParameters is invalid. >>
編輯:
關注kguler的評論,I conve將參數設置爲字符串,並且以前的錯誤消失。 我也在我的代碼示例中修復了被遺忘的},並刪除了URL與關鍵參數的連接。 現在我遇到了不同的錯誤:
Throw::nocatch: Uncaught Throw[Null,Utilities
URLTools
PrivateURLTOOLSException[Utilities
URLToolsPrivate
BADCONNECTION, http://couchdburl/database/]] returned to top level. >>
我試着用捲曲CouchDB的URL提出請求,使用僞文檔:
curl -X POST http://couchdburl/database/ -H "Content-Type: application/json" -d {}
,反應也如預期:
{ 「OK」:真實的, 「ID」: 「57291ccea74c455beb2d7a37fe001624」, 「轉」: 「1-967a00dff5e02add41819138abb3284d」}
我仍然失蹤,應該是任何選項在導入功能中使用? 也許有些選項將content-type設置爲application/json?
你有沒有嘗試使傳遞的參數字符串('InsertDocument [「100」,「1」]')或進行最後一行代碼中的' 「RequestParameters」 - > {「key」 - > ToString @ key,「value」 - > ToString @ value}]]'?順便說一句,你在最後一行缺少右括號'}'。 – kglr 2012-01-18 02:47:25