2017-12-18 154 views
0

我正在做一個POS(銷售點),作爲Saas,前端有React,後端(API Rest)和MongoDB中的NodeJs作爲數據庫。動態切換數據庫

我已經完成了一個基本程序,現在我想要任何用戶註冊都會有他自己的數據庫。

在互聯網上閱讀了一些文章和問題後,我的結論是在每次前端消耗後端(API)時在數據庫之間切換。

一般邏輯:

  1. 用戶登錄
  2. 在後臺,我使用的是一般的數據庫來檢查用戶憑據,也是我獲取該用戶的數據庫的名稱。
  3. 每次前端消耗的下一個代碼在中間件知道數據庫應該使用API​​執行的API:
var dbUser = db.useDb('nameDataBaseUser'); 
var Product = dbUser.model('Product', ProductSquema); 

我的模式和變量「DB」定義的固定在代碼:

var db = mongoose.createConnection('mongodb://localhost');

問題:

我不知道是否正確的解決方案是關於我正在嘗試做什麼,但似乎我效率不高,每次調用API時都會不斷生成模型,因爲在某些API中(即在某些中間件中,不同型號)

問:

這是最好的辦法嗎?或任何建議來面對這個問題?

回答

0

不確定爲每個新用戶創建新數據庫的想法。這似乎造成了很多複雜性,並且難以維護,並且使得以後難以訪問分析數據等。爲什麼不爲每個新用戶使用一個新集合?這樣,您只能使用一組數據庫訪問憑據。此外,Creating a new collection happens會在您爲其存儲數據時自動執行。