Couchdb返回无效的Json

时间:2016-12-02 13:07:38

标签: json couchdb

试着从书中学习CouchDB中的视图,但是我一直遇到这个问题,出于某种原因,这是一个糟糕的请求而且是无效的JSON:

{
    "_id" : "_design/example",
    "language" : "javascript",
    "views" : {
    "foo" : {
        "map" : "function(doc) { if (doc.date && doc.title) { emit(doc.date, doc.title);}}"
    }
    }
}

然而这很好:

{
    "_id": "_design/tyres_used",
    "language": "javascript",
    "views": {
    "tyres": {
            "map": "function(doc) { if(doc.tyres && doc.client) {\n emit(doc.tyres, doc.client);\n} \n}"
    }
    }
}

目前我上传文档的唯一方法是使用第一个脚本更改第二个脚本然后进入。我不知道我在第一个脚本上做了什么,但要让它工作。

道歉,如果这看起来错了,我以前从未做过这个块引用。

1 个答案:

答案 0 :(得分:1)

您收到的第一个错误是因为cURL无法找到该文件。确保该文件位于执行命令的同一目录中,以指定文件的相对/绝对路径。

接下来,您将面临内容类型错误。您需要指定要发送到CouchDB的数据类型。要使用cURL指定JSON Content-type标头,请执行以下操作:

curl -X PUT 127.0.0.1:5984/views_testing/_design/example -d @example.json -H "Content-type: application/json"