{% 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`.