couchdb - 无法从 PouchDB 检索值

标签 couchdb indexeddb 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)
  })
})

最佳答案

在您完成将数据插入 PouchDB 之前,您的 allDocs 查询正在运行,由于 IndexedDB API,所有数据库查询都是异步的(它们可能必须是异步的,因为它也是一个 HTTP 客户端)。

new Pouch('idb://test', function(err, db) {
  var doc = {
    test : 'foo',
    value : 'bar'
  };
  db.post(doc, function(err, data){
    if (err) {
      return console.error(err);
    }
    db.allDocs(function(err, data){
      if (err)    console.err(err)
      else console.log(data)
    });
  });
});

... 应该管用。

关于couchdb - 无法从 PouchDB 检索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10299875/

相关文章:

javascript - JS等待回调在for循环内完成执行

node.js - 使用 nano 将二进制附件插入 CouchDB

javascript - 将文件上传到 PouchDB/CouchDB

ruby - 将 Json 对象保存到 Couchdb

javascript - openCursor后两次成功

javascript - 如何更新 pouchDB 文档中的单个字段

javascript - 尝试通过 Sync Gateway 将附件插入现有文档时出现 409

javascript - IndexedDB模糊搜索

indexeddb - 如何从IndexedDB获取前1行

couchdb - 如何在复制期间过滤数据并仅向用户提供他自己的文档?