首页 > 解决方案 > pouchDB 同步但限制返回的文档?

问题描述

我使用 pouchdb 来观察后端(couchdb)的变化,并将新添加的项目推送到前端。这是同步代码,但有什么选项可以限制返回的文档吗?

localDB.sync(remoteDB, {
    live: true,
    retry: true
  })

没有限制选项的问题是我无法获得前 10 或 20 条记录。

标签: javascriptpouchdb

解决方案


如果您的目标是同步,但仅限于特定数量的文档,请使用change观察者进行计数,并在达到限制时中止。

var count = 0,
    limit = 10;
var sync = PouchDB.sync('mydb', 'http://localhost:5984/mydb', {
  live: true,
  retry: true
}).on('change', function (info) {
  if (count++ >= limit) {
    sync.cancel();
  }
})

请注意,这将在 10 次更改后取消同步,这与 10 个文档不同。这可能是对同一文档的 10 次更改。

如果您关心实际文档,则需要更复杂的逻辑来跟踪更改文档的数量。


推荐阅读