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”.