【发布时间】:2016-01-02 19:11:48
【问题描述】:
TL;DR:我想要一个类似于 Ember Data 的 PouchDB 数据库:首先从本地存储中获取,如果没有找到,则转到远程。在这两种情况下仅复制该文档。
我的 PouchDB/CouchDB 服务器中有一个名为 Post 的文档类型。我希望 PouchDB 查看本地存储,如果有文档,则返回文档并开始复制。如果没有,请转到远程 CouchDB 服务器,获取文档,将其存储在本地 PouchDB 实例中,然后开始仅复制该文档。 在这种情况下,我不想复制整个数据库,只复制用户已经获取的内容。
我可以这样写:
var local = new PouchDB('local');
var remote = new PouchDB('http://localhost:5984/posts');
function getDocument(id) {
return local.get(id).catch(function(err) {
if (err.status === 404) {
return remote.get(id).then(function(doc) {
return local.put(id);
});
}
throw error;
});
}
这也不能处理复制问题,但这是我想做的大方向。
我想我可以自己编写这段代码,但我想知道是否有一些内置的方法可以做到这一点。
【问题讨论】:
标签: javascript couchdb pouchdb