问题很简单,但即使通过互联网和pouchdb源进行详尽的搜索,我也找不到检查本地数据库是否存在的函数.
这样的用例是检查本地数据库是否已经存在,然后成功登录可选.
最好的祝福
如何从本地PouchDB数据库导入/导出数据库?我需要保存我的本地数据库并在不同的平台上打开它.服务器端没有CouchDB.
我正在创建一个从本地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) 我是CouchDB和PouchDB的新手,并且正在使用它来创建一个可以在移动和桌面设备上同步的联系人管理系统,并且可以脱机使用.我发现使用PouchDB比编写PHP/MySQL后端要容易得多.
我一直在成功使用它,当我在离线设备上做出相互矛盾的更改时,CouchDB使用一种算法随意挑选一个胜利者,然后将其正确地推送到所有设备.
我想要做的是实现自定义算法来合并冲突的记录.这是我想要使用的算法:
CouchDB的指南有一个很好的解释,但我不知道如何在连续复制期间使用PouchDB API实现它.根据PouchDB API,复制选项中有一个"onChange"侦听器,但我不明白如何使用它来拦截冲突.
如果有人可以写一个简短的教程,包括一些示例代码,我和我相信很多其他PouchDB用户会很感激!
我正在使用Firebase作为后端实现AngularJS Web应用程序; 它也应该脱机工作; 多用户同步问题应该非常有限,因为app - by design - 只允许离线时的新数据条目.
我了解Firebase具有脱机功能,从某种意义上说,客户端可以承受临时网络连接故障:任何写入操作都将被延迟并缓存,直到网络再次出现.
我问是否存在任何可能性(或者是否计划实施它)以扩展Firebase离线功能,以使客户端能够在本地缓存服务器上(部分)数据的快照,从而为客户提供完整的离线体验,也提供读取操作.
我看到第三部分Firebase包装器存在,但它的文档非常"有限"(要善待...... :-).一个原生解决方案应该是首选...
更新:Frank van Puffelen发表评论后,我更有资格证明我的问题:
*Firebase本身是否支持其Web API中的脱机数据访问,或者是否会很快支持?*
从蒙戈切换到pouchdb(与Cloudant),我喜欢"每个用户一个数据库"的概念,但有一个方法来创建每个数据库的多个集合/表?
例
- Peter
- History
- Settings
- Friends
- John
- History
- Settings
- Friends
Run Code Online (Sandbox Code Playgroud)
等等...
谢谢
在客户端使用PouchDB访问远程服务器时,最好的安全措施是什么?
https://pouchdb.com/getting-started.html上的示例与远程服务器同步,代码如下:
var remoteCouch = 'http://user:pass@mname.example.com/todos';
Run Code Online (Sandbox Code Playgroud)
问题是我可能不希望用户看到他们可以下载的文件的明文密码 - 即使该文件仅向经过身份验证的用户显示.
请指教.提前致谢,
我来自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"等.
所以,我有两个问题:
我有一个管理用户的pouchdb应用程序.
用户拥有一个本地pouchDB实例,可以使用单个couchDB数据库进行复制.很简单.
这是事情变得有点复杂的地方.我在我的设计中引入了"群体"的概念.组将是不同的couchDB数据库,但在本地,它们应该是用户数据库的一部分.
我在pouchDB网站上阅读了一些关于"花哨复制"的内容,这似乎是我追求的解决方案.
现在,我的问题是,我该怎么做?更具体地说,如何从多个远程数据库复制到一个本地数据库?一些代码示例将是超级的.
从下面的图表中,您将注意到我需要根据用户所在的组动态添加数据库.对我的设计的批评也将受到赞赏. 谢谢!
流量应该是这样的:
localUserDB
var groupDB = new PouchDB('remote-group-url');
groupDB.replicate.to(localUserDB);
localUserDB.replicate.to(groupDB)
我是否需要过滤复制?)编辑:诺兰建议我调查couchDB"角色"系统来解决我的问题.一旦我搞清楚,我会在这里发布.