2016-08-24 59 views
1

這是我的情況。我有一個廣泛的基於REST的API,它使用Mongoose連接到MongoDB數據庫。該API被編寫爲標準的「MEAN」堆棧應用程序。如何在不重複代碼的情況下在活動數據庫和生產數據庫之間切換?

當前,當開發人員查詢API時,他們總是連接到實時生產數據庫。我想要做的是將一個完全相同的重複數據庫作爲「分段」數據庫,其中新的數據將首先添加,審查一段時間,然後移至實時數據庫。然後,我希望開發人員能夠通過修改查詢來查詢任何一個。

我開始關注Mongoose文檔,看起來好像模型與數據庫連接有關,如果我想要有多個連接,我也必須有多個模型,每個連接一個。這將是WET代碼的噩夢,而不是我想要的路徑。

我想要做的是不要碰我的任何代碼在所有的,只是有更改爲正確的數據庫給定查詢的開關。所以我的問題是,我怎麼能做到這一點?可能嗎?文件似乎暗示它不是。

回答

1

而不是試圖保持連接在同一個代碼庫兩種環境中你有沒有考慮設置你的應用程序的舞臺版?它連接的數據庫可以通過環境變量或其他配置選項來設置。

開發商仍將然後只需要做出改變來查詢一個或另一個,一旦你完成了審批程序,你可以從舞臺數據庫生產/現場數據庫遷移數據。

+0

我確實考慮過它,但它確實不是理想的解決方案,有幾個原因。 1.它意味着增加資源來運行新的服務器實例 2.它意味着處理一個新的子域名和一個新的SSL證書 – jwvanderbeck

相關問題