我正在寻找一种使用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