标签: pouchdb

PouchDB检查本地数据库是否存在

问题很简单,但即使通过互联网和pouchdb源进行详尽的搜索,我也找不到检查本地数据库是否存在的函数.

这样的用例是检查本地数据库是否已经存在,然后成功登录可选.

最好的祝福

javascript pouchdb

13
推荐指数
2
解决办法
3907
查看次数

如何从PouchDB导入/导出数据库

如何从本地PouchDB数据库导入/导出数据库?我需要保存我的本地数据库并在不同的平台上打开它.服务器端没有CouchDB.

javascript pouchdb

12
推荐指数
2
解决办法
5157
查看次数

PouchDB的外部访问,同步错误

我正在创建一个从本地CouchDB中提取数据的应用程序.但是,当我将远程数据库URL从localhost:5984更改为我的ip:5984以便我可以从我的移动设备进行测试时,从远程设备同步时出现以下错误

{"status":0,"name":"unknown","message":"getCheckpoint rejected with ","result":{"ok":false,"start_time":"2017-08-17T11:14:48.510Z","docs_read":0,"docs_written":0,"doc_write_failures":0,"errors":[],"status":"aborting","end_time":"2017-08-17T11:14:56.314Z","last_seq":0}}
Run Code Online (Sandbox Code Playgroud)

我已经设置了CORS,将我的httpd绑定地址设置为0.0.0.0,我的内容安全策略设置为允许几乎所有内容,我觉得有点失去了如何解决这个问题,因为谷歌搜索只打了我死路一条.谢谢你的帮助.

当我尝试远程同步到任何数据库时,我在服务器日志中得到以下内容:

2017-08-22T10:59:12.194000Z couchdb@localhost <0.52.0> -------- alarm_handler: {clear,system_memory_high_watermark}
[info] 2017-08-22T10:59:26.074000Z couchdb@localhost <0.26330.0> -------- Opening index for db: shards/80000000-9fffffff/_replicator.1503391828 idx: _design/_replicator sig: "3e823c2a4383ac0c18d4e574135a5b08"
Run Code Online (Sandbox Code Playgroud)

编辑:通过我一直在尝试的所有更改和修复,重新创建系统数据库,用户,重新安装以及客户端控制台错误稍有改变的各种其他内容.CouchDB日志是相同的.这是最新的错误

{"code":"ETIMEDOUT","status":0,"result":{"ok":false,"start_time":"2017-09-04T09:19:26.309Z","docs_read":0,"docs_written":0,"doc_write_failures":0,"errors":[],"status":"aborting","end_time":"2017-09-04T09:19:36.326Z","last_seq":0}}
Run Code Online (Sandbox Code Playgroud)

javascript couchdb pouchdb phonegap

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

如何通过连续复制解决冲突

我是CouchDB和PouchDB的新手,并且正在使用它来创建一个可以在移动和桌面设备上同步的联系人管理系统,并且可以脱机使用.我发现使用PouchDB比编写PHP/MySQL后端要容易得多.

我一直在成功使用它,当我在离线设备上做出相互矛盾的更改时,CouchDB使用一种算法随意挑选一个胜利者,然后将其正确地推送到所有设备.

我想要做的是实现自定义算法来合并冲突的记录.这是我想要使用的算法:

  1. 如果在一个客户端上删除记录而仅在另一个客户端上更新,则更新版本将获胜,除非两个客户端都同意删除.
  2. 具有最新"已修改"时间戳的记录将成为主记录,而较旧记录将成为次要记录.
  3. 仅存在于辅助节点中(或在主节点中为空)的任何字段都将移至主节点.
  4. 将保存主版本,并删除辅助版本.

CouchDB的指南有一个很好的解释,但我不知道如何在连续复制期间使用PouchDB API实现它.根据PouchDB API,复制选项中有一个"onChange"侦听器,但我不明白如何使用它来拦截冲突.

如果有人可以写一个简短的教程,包括一些示例代码,我和我相信很多其他PouchDB用户会很感激!

couchdb database-replication pouchdb

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

离线Firebase

我正在使用Firebase作为后端实现AngularJS Web应用程序; 它也应该脱机工作; 多用户同步问题应该非常有限,因为app - by design - 只允许离线时的数据条目.

我了解Firebase具有脱机功能,从某种意义上说,客户端可以承受临时网络连接故障:任何写入操作都将被延迟并缓存,直到网络再次出现.

我问是否存在任何可能性(或者是否计划实施它)以扩展Firebase离线功能,以使客户端能够在本地缓存服务器上(部分)数据的快照,从而为客户提供完整的离线体验,也提供读取操作.

我看到第三部分Firebase包装器存在,但它的文档非常"有限"(要善待...... :-).一个原生解决方案应该是首选...

更新:Frank van Puffelen发表评论后,我更有资格证明我的问题:

*Firebase本身是否支持其Web API中的脱机数据访问,或者是否会很快支持?*

couchdb offline-caching angularjs firebase pouchdb

11
推荐指数
2
解决办法
4666
查看次数

我能为每个数据库创建多个集合吗?

从蒙戈切换到pouchdb(与Cloudant),我喜欢"每个用户一个数据库"的概念,但有一个方法来创建每个数据库的多个集合/表?

- Peter  
        - History
        - Settings
        - Friends
- John
        - History
        - Settings
        - Friends
Run Code Online (Sandbox Code Playgroud)

等等...

谢谢

couchdb cloudant pouchdb

11
推荐指数
2
解决办法
4961
查看次数

PouchDB安全性

在客户端使用PouchDB访问远程服务器时,最好的安全措施是什么?

https://pouchdb.com/getting-started.html上的示例与远程服务器同步,代码如下:

var remoteCouch = 'http://user:pass@mname.example.com/todos';
Run Code Online (Sandbox Code Playgroud)

问题是我可能不希望用户看到他们可以下载的文件的明文密码 - 即使该文件仅向经过身份验证的用户显示.

请指教.提前致谢,

couchdb pouchdb

11
推荐指数
2
解决办法
3309
查看次数

在同一个应用程序上创建多个PouchDB数据库被认为是不好的设计?

我来自Mysql背景,现在我正在使用Pouchdb.我已经习惯了每个应用程序拥有1个数据库和多个表的SQL模式.

在pouchDB中它是不同的,因为数据不存储在表中而是存储在文档中.所以,在我的应用程序中,我有一个任务数据库,创建时:

var db = new PouchDB('tasks', {revs_limit: 1, auto_compaction: true});
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序的主数据库,但现在我还需要存储设置,例如"last_visit_date","language_preference"等.


所以,我有两个问题:

  1. 我应该只创建一个数据库,然后
    在子对象中存储不同的数据集,还是可以创建多个数据库来存储这些数据第二个选项有任何缺点吗?
  2. 我尚未与cloudant或couchdb同步,但我将来必须这样做.如果我有2个数据库(或更多),它会使同步过程更复杂,更慢或更糟吗?

nosql pouchdb

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

如何将CouchDB用作MeteorJS应用程序的后端数据库,而不是默认的MongoDB?

真的想使用CouchDB,也许让Meteor应用程序通过Meteor Publish和Subscribe获取数据更新.但似乎无法弄清楚如何将Meteor应用程序与CouchDB连接而不是默认的 MongoDB.请帮忙.

couchdb meteor pouchdb

10
推荐指数
3
解决办法
4991
查看次数

PouchDB:多个远程数据库,单个本地数据库(花哨复制)

我有一个管理用户的pouchdb应用程序.

用户拥有一个本地pouchDB实例,可以使用单个couchDB数据库进行复制.很简单.

这是事情变得有点复杂的地方.我在我的设计中引入了"群体"的概念.组将是不同的couchDB数据库,但在本地,它们应该是用户数据库的一部分.

我在pouchDB网站上阅读了一些关于"花哨复制"的内容,这似乎是我追求的解决方案.

现在,我的问题是,我该怎么做?更具体地说,如何从多个远程数据库复制到一个本地数据库?一些代码示例将是超级的.

从下面的图表中,您将注意到我需要根据用户所在的组动态添加数据库.对我的设计的批评也将受到赞赏. 谢谢!

在此输入图像描述

流量应该是这样的:

  1. 从他/她的DB中检索所有用户文档 localUserDB
  2. var groupDB = new PouchDB('remote-group-url'); groupDB.replicate.to(localUserDB);
    (多个pouchdb实例0_0的任何性能问题?)
  3. 在本地,当用户进行与特定组相关的更改时,我们确定相应的数据库并通过执行以下操作进行复制:(
    localUserDB.replicate.to(groupDB)我是否需要过滤复制?)

编辑:诺兰建议我调查couchDB"角色"系统来解决我的问题.一旦我搞清楚,我会在这里发布.

couchdb pouchdb

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