{% include anchor.html edit="true" title="Default settings" hash="defaults" %}
If you find yourself using the same constructor options repeatedly,
you can simplify your code with `PouchDB.defaults()`:
{% highlight js %}
PouchDB.defaults({
option1: 'foo',
option2: 'value'
});
{% endhighlight %}
The returned object is a constructor function that works the same as `PouchDB`, except that whenever you invoke it (e.g. with `new`), the given options will be passed in by default.
#### Example Usage:
{% highlight js %}
var MyMemPouch = PouchDB.defaults({
adapter: 'memory'
});
// In-memory PouchDB
var myMemPouch = new MyMemPouch('dbname');
var MyPrefixedPouch = PouchDB.defaults({
prefix: '/path/to/my/db/'
});
// db will be named '/path/to/my/db/dbname', useful for LevelDB
var myPrefixedPouch = new MyPrefixedPouch('dbname');
var HTTPPouch = PouchDB.defaults({
prefix: 'http://example.org'
});
// db will be located at 'http://example.org/testdb'
var myHttpPouch = new HTTPPouch('dbname');
{% endhighlight %}
Note the special constructor option `prefix`, which appends a prefix to the database name
and can be helpful for URL-based or file-based LevelDOWN path names.
All [constructor options](#create_database) are supported. Default options can still be overriden individually.