【发布时间】:2015-02-22 20:44:26
【问题描述】:
如何在 PouchDB 中删除数据库以再次释放磁盘空间?
Remove 仅设置参数 _deleted 并保留记录的数据。
但是我怎样才能以一种真正摆脱它们并节省一些空间的方式删除记录呢?
因为我想不时重置数据库,所以它不会变得太大。
【问题讨论】:
标签: javascript database pouchdb
如何在 PouchDB 中删除数据库以再次释放磁盘空间?
Remove 仅设置参数 _deleted 并保留记录的数据。
但是我怎样才能以一种真正摆脱它们并节省一些空间的方式删除记录呢?
因为我想不时重置数据库,所以它不会变得太大。
【问题讨论】:
标签: javascript database pouchdb
听起来您正在寻找compaction。它将完全按照您的描述进行。 :)
【讨论】:
destroy() 是一个独立于压缩的操作,不推荐使用的是 PouchDB.destroy(),而不是 db.destroy()。我将更新文档以使其更清晰。这实际上取决于您要实现的目标。一般来说,我建议避免使用destroy() 并使用compact(),因为destroy() 往往会在IndexedDB 中造成一些不稳定(不过我们正在努力解决这个问题)。
您可以销毁数据库并重新创建它。
var _db = new PouchDB('foo');
var reset = function() {
_db.destroy().then(function() {
_db = new PouchDB('foo');
});
};
【讨论】: