Javascript Couchdb和PockDB不在同一位置存储信息
我对couchdb/PockDB有点困惑 这是我的设置 我正在运行Javascript Couchdb和PockDB不在同一位置存储信息,javascript,node.js,couchdb,pouchdb,Javascript,Node.js,Couchdb,Pouchdb,我对couchdb/PockDB有点困惑 这是我的设置 我正在运行couchdb来启动并运行它 为了确认我运行了这个命令,curl localhost:5984,它就可以工作了 导航到http://localhost:5984/_utils/index.html,请参见以下内容: 然后我使用节点和数据库连接并插入一个文档 var PouchDB = require('pouchdb') var test = new PouchDB('test') test.info() .then(func
couchdb
来启动并运行它
为了确认我运行了这个命令,curl localhost:5984
,它就可以工作了
导航到http://localhost:5984/_utils/index.html
,请参见以下内容:
然后我使用节点
和数据库
连接并插入一个文档
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)
我运行了这个节点index.js
,得到了两者的ok响应
我检查了couchdb
admin(上图),发现它没有改变。似乎没有保存任何数据
我查看node projects目录,看到有一个test
文件夹。Pocket认为数据库目录是本地的,而couchdb
目录在其他地方,这肯定是有问题的
要知道coach在哪里存储信息,我运行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
我不明白wherecouchdb
认为数据库在哪里,而wherecouchdb
认为数据库在哪里,两者之间的联系是如何或为什么不同的
如何修复此问题,并使backdb
使用为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)
我认为你还不了解数据库的工作方式。当您以自己的方式在节点中运行它时,它将用作后端。它在您的项目的测试目录中编写一个数据文件(我想知道如果您在那里进行测试会发生什么!) 它根本不与couchbase服务器通信 如果在构造函数中将uri传递给coach服务器,您将与couchbase实例对话:
var remoteDB = new PouchDB('http://localhost:5984/myremotedb')
太棒了,非常感谢你,完美的解释。我以为它会自动连接到本地主机服务器。@ThomasReggi PockDB可以在没有任何couchdb实例的情况下工作,当您以这种方式配置它时,它将允许它与couchdb同步,但从技术上讲,PockDB本身就是javascript中的couchdb服务器。