【问题标题】:Couchdb and pouchdb are not storing info in the same placeCouchdb 和 pouchdb 不在同一个地方存储信息
【发布时间】:2016-04-27 00:49:43
【问题描述】:

我对 couchdb / pouchdb 有点困惑。

这是我的设置。

我正在运行 couchdb 以启动并运行它。

为了确认我运行了这个,curl localhost:5984,它确实有效。

导航到http://localhost:5984/_utils/index.html 并查看:

然后我使用nodepouchdb 连接并插入文档。

var PouchDB = require('pouchdb')
var test = new PouchDB('test')

test.info()
.then(function (info) {
  console.log(info)
})
.catch(console.error)

test.put({
  '_id': '308',
  'hello': 'world'
})
.then(console.log)
.catch(console.error)

我运行这个node index.js 并得到两个都好的响应。

我检查了couchdb admin(上图),发现它没有改变。似乎没有保存任何数据。

我查看节点项目目录,发现有一个test 文件夹。 pouch 认为数据库目录是本地的,而couchdb 目录在其他地方,一定是有问题。

为了弄清楚沙发存储信息的位置,我运行couchdb -c

$ couchdb -c
/usr/local/etc/couchdb/default.ini
/usr/local/etc/couchdb/local.ini

这给了我配置文件的位置。

我可以在default.ini看到这个:

database_dir = /usr/local/var/lib/couchdb
view_index_dir = /usr/local/var/lib/couchdb

我不明白couchdb 认为数据库在哪里和pouchdb 认为它在哪里之间的这种联系是如何或为什么不同的。

我该如何解决这个问题,让pouchdb 使用为couchdb 指定的目录?

更新:

刚刚试了一下,在couchdb界面还是看不到。

var PouchDB = require('pouchdb')

// var test = new PouchDB('test')

var MyPrefixedPouch = PouchDB.defaults({
  prefix: '/usr/local/var/lib/couchdb'
});

var test = new MyPrefixedPouch('test');

test.info().then(function (info) {
  console.log(info)
})

test.put({
  '_id': '308',
  'hello': 'world'
})
.then(console.log)
.catch(console.error)

【问题讨论】:

    标签: javascript node.js couchdb pouchdb


    【解决方案1】:

    我认为您不了解 pouchdb 的工作方式。当您以您的方式在节点中运行它时,它使用leveldb 作为后端。它正在您项目的测试目录中写入一个数据文件(我想知道如果您在那里进行测试会发生什么!)。

    它根本不与您的 couchbase 服务器通信。

    如果您在构造函数中将 uri 传递给您的沙发服务器,您将与您的沙发库实例对话:

    var remoteDB = new PouchDB('http://localhost:5984/myremotedb')
    

    【讨论】:

    • 太棒了,非常感谢,完美的解释。我以为它会自动连接到 localhost 服务器。
    • @ThomasReggi PouchDB 可以在没有任何 couchdb 实例的情况下工作,当您以这种方式配置它时,它将允许它与 couchdb 同步,但从技术上讲,pouchdb 本身就是 javascript 中的 couchdb 服务器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多