我必須創建一個脫機應用程序,它可以與另一個在線應用程序同步。如何在兩個不同的React應用程序中使用同一個數據庫
我使用PouchDB開發了離線應用程序。我創建這個應用感謝github回購create-react-app。這個應用程序運行在localhost:3000。在這個應用程序中,我創建並管理了一個名爲「patientDB」的小數據庫。
我管理與經典put方法分貝就像我們可以在文檔中看到:
var db = new PouchDB('patientDB')
db.put({
_id: '[email protected]',
name: 'David',
age: 69
});
隨着由PouchDB給出鉻的開發工具,我可以看到DB工作像我想要(文檔被創建):
的其它應用是彼此反應應用與節點服務器。在開發過程中,這個應用程序在localhost:8080上運行。 在這個程序我嘗試獲取包含在「patientDB」的所有文檔用下面的代碼:
const db = new PouchDB('patientDB', { skip_setup: true });
db.info()
.then(() => {
console.log("DBFOUND")
db.allDocs({include_docs: true})
.then(function (result) {
console.log("RESULT" , result)
}).catch(function (err) {
console.log("NOPE")
console.log(err);
});
})
我的問題是,我不能讓「patientDB」與離線應用程序中創建在線應用程序。當我執行var db = new PouchDB ('patientDB')
時,它創建一個新的空數據庫,因爲它找不到已經存在的數據庫。
我使用谷歌瀏覽器來運行我所有的應用程序,所以我認爲可以共享數據庫。
不過,我沒少和非常簡單的測試有兩個HTML文件:
First.html其初始化一個新的數據庫與文檔
Second.html其讀取數據庫中創建First.html
在這種情況下,即使是兩個分開的「網站」,我也可以使用Second.hmtl中的First.html獲取文檔。
我認爲它在本地主機運行應用程序就像是孤立即使像我之前說的,我用我所有的應用程序相同的瀏覽器應用程序的其餘部分的...
我不不知道該怎麼做,或者我不知道是否可以做我想做的事情。如果有人有我的想法,我會很高興。
編輯
我明白爲什麼我的DB不共享:
當我看着我的所有本地數據塊上運行的HTML文件,我可以看到下面的東西后:
如我們所見,DB來自文件_pouch_DB_NAME - file://
當我ch從localy運行(本地主機)的應用ECK我的數據庫,我可以看到這一點:
的DB不是來自文件,而是來自localhost:8080
如果你知道如何從本地數據庫中讀取DOC一個運行在服務器上的應用程序,它可能對我非常有幫助!