标签: pouchdb

无法从PouchDB中检索值

使用PouchDB插入数据后,我尝试db.getAll()检索所有文档和db.get()单个文档,但没有返回的对象包含我插入的值.

我究竟做错了什么?

new Pouch('idb://test', function(err, db) {
  doc = {
    test : 'foo',
    value : 'bar'
  }

  db.post(doc, function(err, data) {
    if (err) console.error(err)
      else console.log(data)
  })

  db.allDocs(function(err, data) {
    if (err) console.error(err)
      else console.log(data)
  })
})
Run Code Online (Sandbox Code Playgroud)

couchdb indexeddb pouchdb

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

使用pouchdb设置karma单元测试

我想为使用pouchdb + angular-pouchdb的角度应用程序设置单元测试.但当我跑:

karma start karma.conf.js

我收到以下错误:

PhantomJS 1.9.7(Mac OS X)错误

TypeError:'undefined'不是函数(评估'eventEmitter [method] .bind(eventEmitter)')

at .../public/bower_components/pouchdb/dist/pouchdb-nightly.js:5758

角度应用程序在浏览器中运行良好,我所有的karma.conf.js文件都包含相同的依赖项,所以我不明白为什么pouchdb-nightly.js会有一个未定义的函数.我错过了什么?

unit-testing phantomjs angularjs pouchdb karma-runner

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

PouchDB通过ID获取文档,其中包含特定字符串

我想得到包含某个字符串的所有文档,我似乎无法找到它的解决方案..

例如,我有以下文档ID

vw_10
vw_11
bmw_12
vw_13
bmw_14
volvo_15
vw_16
Run Code Online (Sandbox Code Playgroud)

怎么能用字符串vw_"in"得到allDocs呢?

couchdb pouchdb

4
推荐指数
2
解决办法
2588
查看次数

脱机启动应用程序时的数据库复制

我使用PouchDB离线存储数据,并在应用程序上线时与远程CouchDB数据库同步.如果应用程序在线启动,它可以正常工作:PouchDB pause在连接中断时触发事件,并在连接恢复时继续.这是一个示例代码:

localDB.replicate.to(remoteDB, {
  live: true,
  retry: true
}).on('paused', function (info) {
  // replication was paused, usually because of a lost connection
}).on('change', function (change) {
  // yo, something changed!
}).on('active', function (info) {
  // replication was resumed
}).on('error', function (err) {
  console.log(err);
  // totally unhandled error (shouldn't happen)
})
Run Code Online (Sandbox Code Playgroud)

但是当脱机启动应用程序时,会遇到错误(Failed to load resource: net::ERR_ADDRESS_UNREACHABLE)

无法访问远程数据库,PouchDB触发error事件("Database encountered an unknown error"状态500).即使连接回来,复制也行不通.

问题: 即使应用程序是脱机启动的,也有办法使复制工作(例如,pause即使没有访问远程数据库,事件也会先发生)?

更新: 感谢nlawson的回答!我只需要在函数中添加远程数据库创建以使其工作:

function retryReplication() {
  var remoteDB = new …
Run Code Online (Sandbox Code Playgroud)

couchdb database-replication pouchdb

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

使用PouchDB/CouchDB架构设计的Cordova Web App

我想将PouchDB与CouchDB一起使用,因为我的网络应用程序具有出色的同步和复制功能,但很难找到建模数据的最佳方法,以满足我的需求.

该应用程序允许用户在日历中创建事件,只能与他们选择的用户共享.与该事件关联的用户可以添加注释并对该事件进行更改.

1)据我所知,每个用户都应拥有自己的数据库,以避免访问其他用户数据(如果所有用户数据都存储在一个数据库中).如果是这种情况,如何更新或共享来自不同数据库的文档数据?

2)是否应该使用带有API的sql数据库在另一台服务器上管理用户登录?

任何指导将不胜感激!

斑马

couchdb pouchdb

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

错误:连接ENFILE 127.0.0.1:5984 - 本地(未定义:未定义)

我一直得到这个pouchDB错误,我不知道它是什么.

Error: connect ENFILE 127.0.0.1:5984 - Local (undefined:undefined)
    at onError (/Users/thomas/Desktop/rain/node_modules/pouchdb/lib/deps/ajax/ajaxCore.js:53:18)
    at Request._callback (/Users/thomas/Desktop/rain/node_modules/pouchdb/lib/deps/ajax/ajaxCore.js:103:14)
    at self.callback (/Users/thomas/Desktop/rain/node_modules/request/request.js:198:22)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at Request.onRequestError (/Users/thomas/Desktop/rain/node_modules/request/request.js:867:8)
    at emitOne (events.js:77:13)
    at ClientRequest.emit (events.js:169:7)
    at Socket.socketErrorListener (_http_client.js:265:9)
    at emitOne (events.js:77:13)
    at Socket.emit (events.js:169:7)
    at emitErrorNT (net.js:1253:8)
    at doNTCallback2 (node.js:450:9)
    at process._tickCallback (node.js:364:17)
Run Code Online (Sandbox Code Playgroud)

javascript couchdb node.js pouchdb

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

PouchDB 5.3.0 - 错误:openDatabase调用中现在必须使用数据库位置或iosDatabaseLocation值

遇到PouchDB 5.3.0的问题.我的Ionic应用程序中出现以下错误

错误:数据库位置或iosDatabaseLocation值现在在openDatabase调用中是必需的

上面的错误是因为下面的代码行:

> var websql = new PouchDB('websqlpouch', {adapter: 'websql'});
Run Code Online (Sandbox Code Playgroud)

我想在Ionic app中使用SQLite插件.

谢谢你的优点!

angularjs pouchdb ionic-framework

4
推荐指数
2
解决办法
7256
查看次数

在pouchdb / couchdb中与特定场景进行部分同步

我一直在阅读有关pouchdb / couchdb / cloudant的文档和文章。我无法在脑海中创建这种简单的体系结构。我需要帮助!

因此,应用程序上有很多用户。每个用户都有一个单独的数据库(我读的是pouch / couch / cloudant设置中的方法)。

  • 现在,让我们仅关注单个用户。该用户的服务器(couchdb)上已经存在一些远程数据。他存储了3个单独的文档。
  • 他从浏览器1访问docs 1和docs2。从浏览器2访问docs 2和docs 3。
  • 两个浏览器中的内容必须同步。

pouchdb中的简单设计

  1. 我应该使用pouchdb的Sync api吗?但据我所读,它同步了整个数据库。如何使用此api仅同步中央数据库的一部分。过滤后的复制在这里回答吗?

  2. 而且我也不想一次调用两个文档。他可以根据需要访问文档。

  3. 用邮袋/邮袋数据库实现此逻辑的正确方法是什么?如果您可以用一些代码解释一下,那就太好了。我只需要基本想法。

  4. 在即将发布的CouchDB 2.0和PouchDB-find发行版中,这种问题是否容易解决?

非常感谢!

couchdb cloudant pouchdb

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

PouchDB同步没有给出完整的事件

我的PouchDB同步代码没有产生完整的事件.

我确实得到了更改以及活动和暂停事件(按此顺序),并且数据库最终会同步(在很长时间的等待之后,即使数据不多).

我需要完整的事件,所以我知道何时本地可以使用远程CouchDB数据.

我的代码看起来像这样:

  init(localDBName, remoteDBName)
  // Initialises the database - Called every time the App starts or the user logs in or registers
  // If remoteDBName is false we don't want to sync data to the server
  {

    // Create a new database or open it if it already exists
    this._DB = new PouchDB(localDBName);
    this.remote = remoteDBName;          // If remoteDBName is false we don't sync data to the server

    console.log('Data: init(): PouchDB database opened for localDBName = ' + …
Run Code Online (Sandbox Code Playgroud)

database-replication pouchdb

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

用于删除文档的CouchDB / PouchDB选择器

我试图在从远程CouchDB到本地PouchDB的sync()中使用选择器,以过滤出删除的文档:

selector: {
  _deleted: {
    $ne: true
  }
}
Run Code Online (Sandbox Code Playgroud)

它不会从同步返回任何文档。如何使用选择器仅同步未删除的文档?

couchdb pouchdb

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