【发布时间】:2016-04-27 00:49:43
【问题描述】:
我对 couchdb / pouchdb 有点困惑。
这是我的设置。
我正在运行 couchdb 以启动并运行它。
为了确认我运行了这个,curl localhost:5984,它确实有效。
导航到http://localhost:5984/_utils/index.html 并查看:
然后我使用node 和pouchdb 连接并插入文档。
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