我从couchdb(couchappy.com)复制了pouchDB.复制不是实时的.我只是在某些条件下运行它(例如,应用程序的加载/初始化,最终用户更改某些选项等).
我删除了couchdb中的一些文档,这些文档在pouchdb中显示为"已删除".然后我想压缩我的pouchdb:db.compact()调用.但这个电话似乎对删除的文档没什么作用.
请注意,我已经压缩了counchdb.
我正在使用pouchdb 2.2.0.
你们其中任何人都知道什么是compact()调用实际上在pouchdb上做什么?另外,如何摆脱"删除"的文档?
干杯,阿尔贝托
CouchDB和PouchDB始终对已删除的文档进行"墓碑"修订,因为在复制过程中会出现质朴的事情.所以那些被删除的文档在压缩过程中不会消失; 压缩只是摆脱了比最新版本更旧的版本.
还有一个"清除"命令可以真正消除文档及其历史,但它非常激烈,大多数时候你不想这样做,除非你必须(源).此外,PouchDB尚未支持它,尽管它正在进行中.
如果您只是担心文档占用空间而不是简单地调用pouch.remove(),您可以:
pouch.get('mydoc').then(function (doc) {
var deletedDoc = {
_id : doc._id,
_rev : doc._rev,
_deleted : true
};
return pouch.put(doc);
}).then(function (res) {
// etc.
}).catch(function (err) {
// etc.
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1522 次 |
| 最近记录: |