2016-02-25 68 views
1

不允許編輯用戶文檔而不改變密碼。我注意到,在喲的角度飽和,沒有功能來更新用戶。在firebase上,用戶註冊了認證資料,但用戶信息(姓名,電話,地址等)需要存儲在別處。用mongodb編輯用戶文檔

換句話說,是否有理由讓用戶文檔只負責驗證,然後爲非驗證字段另有文檔?

我不是要求意見。將認證字段和非認證字段存儲在同一文檔中的唯一事實問題。

回答

5

當對一個應用程序進行原型設計時,我不會說你會在開始分離這些數據時發現任何好處。但是,隨着應用程序的增長,可能會有幾個原因來區分身份信息。關注

分離

認證是一個具體的使用情況下,它可能是有意義的單獨存放,這樣可以方便的情況下,認證邏輯需要委託給外部身份更改認證機制供應商。

這對任何域名都很嚴格,不同的服務可能會處理不同的用戶相關信息。這些服務可以/可能希望負責存儲和創作該數據。並非所有服務都需要知道用戶的所有屬性,因此每個服務都存儲它所負責的數據。

安全&政策

把敏感的用戶信息到單獨的收集會給數據庫管理員更精細的控制,以誰可以訪問特定集合。或者,如果安全策略需要它,它可以用作將驗證移動到單獨服務器的基礎工作。

你問過一個不認真的答案,但是你所指的主題與關注點分離和微服務體系結構有關。這些領域可以非常自負,所以一定不要認爲我的答案是完整的。

閱讀上的微服務架構在這裏:
http://martinfowler.com/articles/microservices.html