2017-06-22 37 views
0

我是PouchDB的新手。現在我知道如何創建數據庫以及如何在其中添加文檔。但與MySQL不同的是,我無法在這裏創建表格。一種選擇是創建多個PouchDB,這似乎不是一個好主意。我不想使用CouchDB或類似的東西。在PouchDB中創建多個'表'

我想使用的是localStorage。所以說,如果我有MySQL的3個表:

  1. 用戶
  2. 消息
  3. 位置

我將如何構建數據庫,這樣我可以高效地(通過索引查詢)使用find來找到特定表的數據?是否也可以像我們在MySQL中定義的那樣定義列類型?

有一些解釋here,但接受的答案建議使用CouchDB,我不希望目前。我認爲只有localStorage纔有可能。

+1

高度相關:https://stackoverflow.com/questions/43463488/is-creating-multiple-pouchdb-databases-on-the-same-application-considered-bad-de – Phonolog

+0

好的。我跟着這個。現在我堅持觀看部分和(我試圖在這裏提到的地圖/查詢:https://pouchdb.com/api.html#query_database)得到這種類型的錯誤:https://www.reddit.com/ r/CouchDB/comments/420xf1/im_not_to_couchdbpouchdb_and_im_having_a_hard/ –

+0

可能是路徑問題。 –

回答

0

看看這個插件https://github.com/pouchdb-community/relational-pouch。它完全符合要求 - 用多個表創建數據庫模式。它具有一定的侷限性。例如,沒有現在直接的方式來使用的類型find,即你需要按類型搜索所有對象和過濾器:

db.find(selector).then(function (data) { 
    return db.rel.parseRelDocs(type, data.docs); 
});` 

此外,可能有一些潛在的問題與性能,如果您創建深度嵌套結構(異步關係可能會有所幫助)。

一般來說,我認爲這些問題不應該是智能設計或簡單模式的障礙。