我有點困惑有關couchdb/pouchdb。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
管理員(上面),看看它沒有改變。似乎沒有數據被保存。
我查看節點項目目錄,看到有一個test
文件夾。郵袋認爲數據庫目錄是本地的,並且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
認爲DB是何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)
真棒,太感謝你了,完美的解釋。我認爲它會自動連接到本地主機服務器。 – ThomasReggi
@ThomasReggi PouchDB可以在沒有任何couchdb實例的情況下工作,當您以這種方式配置它時,它將允許它與couchdb同步,但技術上pouchdb本身就是一個javascript中的couchdb服務器。 –