{% include anchor.html edit="true" title="Fetch a document" hash="fetch_document"%} {% highlight js %} db.get(docId, [options], [callback]) {% endhighlight %} Retrieves a document, specified by `docId`. ### Options All options default to `false` unless otherwise specified. * `options.rev`: Fetch specific revision of a document. Defaults to winning revision (see [the CouchDB guide](http://guide.couchdb.org/draft/conflicts.html)). * `options.revs`: Include revision history of the document. * `options.revs_info`: Include a list of revisions of the document, and their availability. * `options.open_revs`: Fetch all leaf revisions if `open_revs="all"` or fetch all leaf revisions specified in `open_revs` array. Leaves will be returned in the same order as specified in input array. * `options.conflicts`: If specified, conflicting leaf revisions will be attached in `_conflicts` array. * `options.attachments`: Include attachment data. * `options.binary`: Return attachment data as Blobs/Buffers, instead of as base64-encoded strings. * `options.ajax`: An object of options to be sent to the ajax requester. In Node they are sent verbatim to [request][] with the exception of: * `options.ajax.cache`: Appends a random string to the end of all HTTP GET requests to avoid them being cached on IE. Set this to `true` to prevent this happening. * `options.latest`: Forces retrieving latest “leaf” revision, no matter what rev was requested. Default is `false`. #### Example Usage: {% include code/start.html id="get1" type="callback" %} {% highlight js %} db.get('mydoc', function(err, doc) { if (err) { return console.log(err); } // handle doc }); {% endhighlight %} {% include code/end.html %} {% include code/start.html id="get1" type="async" %} {% highlight js %} try { var doc = await db.get('mydoc'); } catch (err) { console.log(err); } {% endhighlight %} {% include code/end.html %} {% include code/start.html id="get1" type="promise" %} {% highlight js %} db.get('mydoc').then(function (doc) { // handle doc }).catch(function (err) { console.log(err); }); {% endhighlight %} {% include code/end.html %} #### Example Response: {% highlight js %} { "_id": "mydoc", "_rev": "1-A6157A5EA545C99B00FF904EEF05FD9F" "title": "Rock and Roll Heart", } {% endhighlight %} The response contains the document as it is stored in the database, along with its `_id` and `_rev`.