To insert documents in bulk into a database you need to supply a JSON structure with the array of documents that you want to add to the database. Using this method you can either include a document ID, or allow the document ID to be automatically generated.
For example, the following inserts three new documents, two with the supplied document IDs, and one which will have a document ID generated:
{ "docs" : [ { "_id" : "FishStew", "servings" : 4, "subtitle" : "Delicious with fresh bread", "title" : "Fish Stew" }, { "_id" : "LambStew", "servings" : 6, "subtitle" : "Delicious with scone topping", "title" : "Lamb Stew" }, { "servings" : 8, "subtitle" : "Delicious with suet dumplings", "title" : "Beef Stew" }, ] }
The return type from a bulk insertion will be 201, with the content of the returned structure indicating specific success or otherwise messages on a per-document basis.
The return structure from the example above contains a list of the documents created, here with the combination and their revision IDs:
POST http://couchdb:5984/recipes/_bulk_docs Content-Type: application/json [ { "id" : "FishStew", "rev" : "1-9c65296036141e575d32ba9c034dd3ee", }, { "id" : "LambStew", "rev" : "1-34c318924a8f327223eed702ddfdc66d", }, { "id" : "7f7638c86173eb440b8890839ff35433", "rev" : "1-857c7cbeb6c8dd1dd34a0c73e8da3c44", } ]
The content and structure of the returned JSON will depend on the transaction semantics being used for the bulk update; see Section 5.9.3, “Bulk Documents Transaction Semantics” for more information. Conflicts and validation errors when updating documents in bulk must be handled separately; see Section 5.9.4, “Bulk Document Validation and Conflict Errors”.