小编Sta*_*art的帖子

PouchDB - 延迟获取和复制文档

TL;DR:我想要一个像 Ember Data 一样的 PouchDB 数据库:首先从本地存储中获取,如果找不到,则转到远程。在这两种情况下仅复制该文档。

Post我的 PouchDB/CouchDB 服务器中有一个名为的文档类型。我希望 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;
  });
}
Run Code Online (Sandbox Code Playgroud)

这也不能解决复制问题,但这是我想做的事情的总体方向。

我想我可以自己编写这段代码,但我想知道是否有一些内置的方法可以做到这一点。

javascript couchdb pouchdb

3
推荐指数
1
解决办法
675
查看次数

C++我应该在设置新对象时销毁对象中的旧对象吗?

考虑以下类声明:

#include "classB.h"
class A {
private:
    B *prop;

public:
    A() { /* does stuff to set up B as a pointer to a new B */
    setB(const B& bar) { /* store a copy of B */
        // how do I manage the old *prop?
        *prop = new B(bar);
    }
};
Run Code Online (Sandbox Code Playgroud)

setB()如何管理内存分配?我应该删除旧的*prop吗?如果是这样,我会取消引用delete吗?

c++

1
推荐指数
1
解决办法
136
查看次数

标签 统计

c++ ×1

couchdb ×1

javascript ×1

pouchdb ×1