Как я могу вставить много документов одновременно? - PullRequest
0 голосов
/ 28 февраля 2019

Когда я хочу вставить документ с помощью CouchDB, я отправляю запрос, подобный этому:

POST http://localhost:5984/blogging/
Accept: application/json
Content-Type: application/json

{
    "name": "Example",
    "value": 5
}

И это работает.Но что, если я хочу вставить два документа одновременно?Я пытаюсь:

POST http://localhost:5984/blogging/
Accept: application/json
Content-Type: application/json

[
    {
        "name": "Example 2",
        "value": 6
    },
    {
        "name": "Example 3",
        "value": 7
    }
]

И он мне отвечает:

HTTP/1.1 400 Bad Request
Cache-Control: must-revalidate
Connection: close
Content-Length: 66
Content-Type: application/json
Date: Thu, 28 Feb 2019 08:03:52 GMT
Server: CouchDB/2.3.0 (Erlang OTP/19)
X-Couch-Request-ID: 9ed2f39fcf
X-CouchDB-Body-Time: 0

{
  "error": "bad_request",
  "reason": "Document must be a JSON object"
}

1 Ответ

0 голосов
/ 28 февраля 2019

Ну, во-первых, я бы посоветовал вам проверить этот API из документации: http://docs.couchdb.org/en/1.6.1/api/database/bulk-api.html#inserting-documents-in-bulk

И, кроме того, вы не отправляете действительный объект JSON.Я бы изменил ваш запрос следующим образом:

POST http://localhost:5984/blogging/_bulk_docs
Accept: application/json
Content-Type: application/json

{
    "docs": [
        {
            "name": "Example 2",
            "value": 6
        },
        {
            "name": "Example 3",
            "value": 7
        }
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...