| {% include anchor.html edit="true" title="Document bulk get" hash="bulk_get" %} | |
| {% highlight js %} | |
| db.bulkGet(options, [callback]) | |
| {% endhighlight %} | |
| Given a set of document/revision IDs, returns the document bodies (and, optionally, attachment data) for each ID/revision pair specified. | |
| ### Options | |
| * `options.docs`: An array of `id` and `rev` pairs representing the revisions to fetch. | |
| - `id`: ID of the document to fetch. | |
| - `rev`: Revision of the document to fetch. If this is not specified, all available revisions are fetched. | |
| - `atts_since`: Optional and supported by the http adapter only. Includes attachments only since specified revisions. Doesn’t includes attachments for specified revisions. | |
| * `options.revs`: Each returned revision body will include its revision history as a `_revisions` property. Default is `false`. | |
| * `options.attachments`: Include attachment data in the response. Default is `false`, resulting in only stubs being returned. | |
| * `options.binary`: Return attachment data as Blobs/Buffers, instead of as base64-encoded strings. Default is `false`. | |
| #### Example Usage: | |
| {% include code/start.html id="bulkget1" type="callback" %} | |
| {% highlight js %} | |
| db.bulkGet({ | |
| docs: [ | |
| { id: "existing-doc", rev: "1-b2e54331db828310f3c772d6e042ac9c"}, | |
| { id: "foo", rev: "2-3a24009a9525bde9e4bfa8a99046b00d"}, | |
| { id: "bar", rev: "1-3a24009a9525bde9e4bfa8a99046b00d"} | |
| ] | |
| }, function (err, result) { | |
| if (err) { return console.log(err); } | |
| // handle result | |
| }); | |
| {% endhighlight %} | |
| {% include code/end.html %} | |
| {% include code/start.html id="bulkget1" type="async" %} | |
| {% highlight js %} | |
| try { | |
| var result = await db.bulkGet({ | |
| docs: [ | |
| { id: "doc-that-exists", rev: "1-967a00dff5e02add41819138abb3284d"}, | |
| { id: "doc-that-does-not-exist", rev: "1-3a24009a9525bde9e4bfa8a99046b00d"}, | |
| { id: "doc-that-exists", rev: "1-bad_rev"} | |
| ] | |
| }); | |
| } catch (err) { | |
| console.log(err); | |
| } | |
| {% endhighlight %} | |
| {% include code/end.html %} | |
| {% include code/start.html id="bulkget1" type="promise" %} | |
| {% highlight js %} | |
| db.bulkGet({ | |
| docs: [ | |
| { id: "doc-that-exists", rev: "1-967a00dff5e02add41819138abb3284d"}, | |
| { id: "doc-that-does-not-exist", rev: "1-3a24009a9525bde9e4bfa8a99046b00d"}, | |
| { id: "doc-that-exists", rev: "1-bad_rev"} | |
| ] | |
| }).then(function (result) { | |
| // handle result | |
| }).catch(function (err) { | |
| console.log(err); | |
| }); | |
| {% endhighlight %} | |
| {% include code/end.html %} | |
| #### Example Response: | |
| {% highlight js %} | |
| { | |
| "results": [ | |
| { | |
| "docs": [ | |
| { | |
| "ok": { | |
| "_id": "doc-that-exists", | |
| "_rev": "1-967a00dff5e02add41819138abb3284d", | |
| "_revisions": { | |
| "ids": [ | |
| "967a00dff5e02add41819138abb3284d" | |
| ], | |
| "start": 1 | |
| } | |
| } | |
| }], | |
| "id": "doc-that-exists" | |
| }, | |
| { | |
| "docs": [ | |
| { | |
| "error": { | |
| "error": "not_found", | |
| "id": "doc-that-does-not-exist", | |
| "reason": "missing", | |
| "rev": "undefined" | |
| } | |
| }], | |
| "id": "doc-that-does-not-exist" | |
| }, | |
| { | |
| "docs": [ | |
| { | |
| "error": { | |
| "error": "not_found", | |
| "id": "doc-that-exists", | |
| "reason": "missing", | |
| "rev": "1-badrev" | |
| } | |
| } | |
| ], | |
| "id": "doc-that-exists" | |
| }] | |
| } | |
| {% endhighlight %} | |