K20*_*K20 15 javascript pouchdb
我是pouchdb的新手,我无法理解API.
我想知道用javascript代码删除所有文档的最佳方法是什么.我尝试了许多东西,但没有任何接缝可以工作.
我是否必须在allDocs方法中使用一些选项,如:
db.allDocs({include_docs: true, deleted: true})
Run Code Online (Sandbox Code Playgroud)
nla*_*son 24
对不起,API太混乱了!如果您能告诉我们如何改进它,那将会很有帮助.:)
你可以做db.destroy(),这将完全删除数据库但不复制删除,也可以单独remove()的所有文件:
db.allDocs().then(function (result) {
// Promise isn't supported by all browsers; you may want to use bluebird
return Promise.all(result.rows.map(function (row) {
return db.remove(row.id, row.value.rev);
}));
}).then(function () {
// done!
}).catch(function (err) {
// error!
});
Run Code Online (Sandbox Code Playgroud)
```
基于nlawson的答案,您也可以使用bulkDocs,因此您不必为每个文档运行Pouch操作:
db.allDocs({include_docs: true}).then(allDocs => {
return allDocs.rows.map(row => {
return {_id: row.id, _rev: row.doc._rev, _deleted: true};
});
}).then(deleteDocs => {
return db.bulkDocs(deleteDocs);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7135 次 |
| 最近记录: |