Я ищу способ вставить документ в базу данных CouchDb с помощью Mathematica.Основываясь на этом посте, я попробовал его, используя следующий код:
InsertDocument[key_, value_] :=
With[{url =
"http://couchdburl/database/"},
Import[url, "XML", "RequestMethod" -> "POST",
"RequestParameters" -> {"key" -> key, "value" -> value}]]
Но когда я пытаюсь выполнить его так, например:
InsertDocument[110, 1]
Я получаю следующую ошибку:
Import :: erropts: значение {key-> 110, value-> 1}, указанное для опции RequestParameters, недопустимо.>>
Редактировать:
После комментария kguler я преобразовал параметры в строку, и предыдущая ошибка исчезла.Я также исправил забытый} в моем примере кода и удалил конкатенацию URL с параметром ключа.Теперь я вижу другую ошибку:
Throw :: nocatch: Uncaught Throw [Null, Utilities URLTools
Private URLTOOLSException[Utilities
URLTools Private
BADCONNECTION, http://couchdburl/database/]] возвращено вверхний уровень.>>
Я попытался сделать запрос, используя curl для URL-адреса couchDb, используя фиктивный документ:
curl -X POST http://couchdburl/database/ -H "Content-Type: application/json" -d {}
, и ответ был ожидаемым:
{"ok": true, "id": "57291ccea74c455beb2d7a37fe001624", "rev": "1-967a00dff5e02add41819138abb3284d"}
Мне все еще не хватает опции, которую следует использовать в функции импорта?Может быть, какой-то вариант установить тип содержимого как application / json?