问题标签 [pouchdb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pouchdb - PouchDB 未捕获异常:适配器无效
我是 javascript 和 pouchdb 的新手。我做了一个简单的html文件
我下载了 pouch.alpha.js 文件并将其放入“js”文件夹中。
我只想尝试 pouchdb.com 网站上的第一个示例来创建数据库,但 Firefox>Tools>Web Developer>Error console 给了我错误:
未捕获的异常:无效的适配器
view - Pouchdb 如何使用键来细化查询?
在 couchdb 中,我有一个非常简单的 map 函数,这样我就可以通过 triid 有效地查找列表:
目的是按 triid 索引列表。并且能够通过指定一个键(tripid)来通过tripid检索列表。
在 Pouchdb 中,我可以在 db.query 调用中使用大致相同的 map 函数。
但是,我不希望最终返回所有列表,然后通过 triid 过滤它们。这似乎效率很低。我不确定 Pouchdb 的视图技术。该视图是在查询时创建和使用的,所以我猜 Pouchdb 并没有真正应用地图来创建索引。我想这就像 Couchdb 中的临时视图,所以效率可能不存在。
一些专家意见将不胜感激。
谢谢,马特
cordova - 带有 jquery mobile 和 phonegap 的 PouchDB
我正在尝试在移动(android)应用程序中同时使用上述三个。当我在 firefox (20)、Ubuntu (12.04) 中运行它时,它工作得非常好,但是当我将它加载到手机(或 android 模拟器)中时,它似乎无法存储数据。在 firefox 中运行时,数据存储在 sqlite db 中的用户配置文件目录中,但是使用应用程序?如何告诉 PouchDB 将数据库存储在哪里?我该怎么做?
- 附加信息
我一直在对 PouchDB 适配器类型进行更多测试 - 在 firefox 和 chrome 中。Firefox 不支持 WebSQL,因此使用 chrome 进行测试。这是我在 index.html 中加载的脚本。
这是生成这些日志的一些相关代码
在firefox中,控制台日志的输出如下,带有idb适配器-Pouch("idb://idbx")
将适配器更改为 websql 并在 chrome 上进行了测试 - 工作正常。
将 websql 版本的 apk 加载到模拟器中(使用 google APIs 而不是 4.2.2 apis),这就是 logcat 上出现的内容(与 idb 相同,logcat 是相同的):
pouchdb-nightly 的条目来自我添加到 pouch js 文件中的一些 console.log 语句。围绕 js 的实际代码如下(必须进行字符串化,因为 logcat 除了纯文本不会显示任何内容):
非常感谢任何有关解决此问题的帮助/建议。感谢 chesles 并经常提出您的建议 - 我现在就去看看。仅供参考 - 像 Pouch("idb://testpath/testdb") 这样的网址不起作用......抱怨元数据。在我脑后的某个地方,我在想应该有一种方法可以告诉 PouchDB 将文件存储在哪里(尤其是在应用程序中)以及有关目录的读/写权限的事情。也许我应该寻找其他地方......欢迎所有帮助。
leaflet - 使用 PouchDB 作为离线栅格地图缓存
我一直在探索使用 PouchDB 作为栅格地图切片的离线缓存。具体来说,对于传单。我刚刚完成了一些我认为我会分享的初步测试。
couchdb - PouchDB 到 CouchDB 复制期间出错 - “仅允许 DELETE、GET、HEAD、POST”
尝试从 PouchDB(使用http://www.pouchvision.com/)复制到 CouchDB(使用本地安装)时出现错误。
使用 Fiddler 调查错误,似乎在复制期间 PouchDB 正在调用
使用“OPTIONS”方法并且 CouchDB 返回:
我还使用 Fiddler 检查 CouchDB 到 CouchDB 的复制,在这种情况下,复制使用“HEAD”和“GET”方法对同一个 url 进行了 2 次调用,一切正常。
问题:有没有其他人有同样的问题?难道我做错了什么?或者这是 PouchDB(或 www.pouchvision.com)中的错误?
pouchdb - 如何清除文档
如何清除(不删除)类似于 CouchDB _purge operation的 PouchDB 文档。
注意:清除不同于删除(或删除)。就好像数据库根本没有听说过文档一样。
couchdb - 如何从 CouchDB 复制到 PouchDB?
我已经建立了一个本地 CouchDB 数据库,我想将它复制到一个 PouchDB 数据库,在 localhost 上运行的网页中使用 JavaScript。
使用下面的代码,我收到此错误:
Access-Control-Allow- Origin
http://localhost
不允许 Origin。
从http://
REMOTE 中删除后,我没有收到错误消息,但没有文档显示为已复制。
查看 Chrome DevTools 中的 IndexedDB 数据库,我可以看到该数据库已创建(但似乎没有文档)。
在 Chrome 29.0.1535.2 金丝雀中运行。
我可以在本地执行此操作,还是需要设置远程 CouchDB 数据库并启用 CORS(根据CouchDB 文档)?
couchdb - PouchDB 复制()的“连续”是什么意思?
根据 PouchDB replicate()文档,可以添加一个continuous
选项Pouch.replicate()
:
如果为 true,则开始订阅第一个数据库中的更改并将它们复制到第二个数据库。
我明白这意味着什么,但它是如何工作的?我查看了代码,但很难理解“订阅”是如何完成的。
couchdb - 使用服务器身份验证在 pouch 和 couchdb 之间同步问题
我在使用服务器身份验证(在数据库级别没有用户或角色)之间同步 pouch 和 couchdb 时遇到问题。我在用着:
我收到一个错误object object { status:0}
并且
NetworkError: 405 Method Not Allowed -http://myhost:5984/default_client/
我正在使用 couchdb 1.3,并为所有来源启用了 cors。
任何人都可以对此有所了解或给我一些其他的尝试吗?非常感谢任何帮助。
couchdb - 复制时 pouchdb 出现 Cloudant“case_clause”错误
我正在使用 Pouchdb 和 Cloudant,当我的 Web 应用程序启动时,它会在浏览器中从 Cloudant 复制到我的 pouchdb。我对 pouchdb 内部的工作方式有所了解,这就是我认为该过程的工作方式(高级):
- 复制开始
- 从 cloudant db 获取检查点文档(包含从服务器检索的最新序列号,如果不存在,则假定序列号为 0,这是我的情况)
- 从从该序列号开始释放的更改中获取更改(最多获取 25 个更改)
- 使用新的序列号将检查点文档写入(或更新)回 Cloudant 服务器(这样,如果发生网络错误,它可以从中断处继续或进行下一次复制)
- 重复直到没有变化
- 复制完成
问题出在第 4 步,当 pouch 尝试将该文档写入 cloudant 服务器(第一次)时,服务器返回“case_clause”错误。我认为问题可能是发送到 cloudant 的 id 无效(cloudant 不接受这种格式的 id),因为写入服务器的文档的 id 是_local/799c37dfaefb3774a04f55c7f8cee947
(或最后的其他随机数和字符)。我不知道这是否是有效的文档 ID(对于 cloudant,因为这对于 pouchdb 是准确的),所以我想我在问,是这个问题(cloudant 的不可接受的 id),还是有一些基于 cloudant 服务器返回的错误的其他问题。
这是正在编写的文档:
以下是 Chrome 调试器的完整错误输出:
注意:当我进入 cloudant 的被褥并使用其 id 手动输入检查点文档的 url 时,它不存在。
谢谢
编辑:
使用 Chrome 调试器的上述请求的标头信息: