Back to Pouchdb

Compaction

docs/_includes/api/compaction.html

9.0.01.7 KB
Original Source

{% include anchor.html edit="true" title="Compact the database" hash="compaction" %} {% highlight "js" %} db.compact([options], [callback]) {% endhighlight %} Triggers a compaction operation in the local or remote database. This reduces the database's size by removing unused and old data, namely non-leaf revisions and attachments that are no longer referenced by those revisions. Note that this is a separate operation from viewCleanup(). For remote databases, PouchDB checks the compaction status at regular intervals and fires the callback (or resolves the promise) upon completion. Consult the compaction section of CouchDB's maintenance documentation for more details. Also see auto-compaction, which runs compaction automatically (local databases only). * options.interval: Number of milliseconds to wait before asking again if compaction is already done. Defaults to 200. (Only applies to remote databases.) #### Example Usage: {% include code/start.html id="compact" type="callback" %} {% highlight "js" %} db.compact(function (err, result) { if (err) { return console.log(err); } // handle result }); {% endhighlight %} {% include code/end.html %} {% include code/start.html id="compact" type="async" %} {% highlight "js" %} try { const result = await db.compact(); } catch (err) { console.log(err); } {% endhighlight %} {% include code/end.html %} {% include code/start.html id="compact" type="promise" %} {% highlight "js" %} db.compact().then(function (result) { // handle result }).catch(function (err) { console.log(err); }); {% endhighlight %} {% include code/end.html %} #### Example Response: {% highlight "js" %} { "ok" : "true" } {% endhighlight %}