2016-01-21 130 views
2

我是MongoDB和貓鼬的新手,我讀到mongodb是無模式的,但我也讀過,可以並鼓勵定義一個模式。 爲什麼我需要定義一個模式,如果數據庫不需要?爲什麼要定義一個模式?

回答

3

因爲通常情況下,數據庫中的文檔表示可重用對象容器(原型/類)的實例。這些通常看起來至少很相似。儘管存在與對象結構/類型系統(多態性,[protoypical/multiple]繼承,鴨子打字等等)有關的編程範例過多,但共同點在於它以某種方式將某些數據字段組織在一起是有意義的。

由於MongoDB沒有強制執行嚴格的模式,它幾乎與所有這些模式兼容。當使用MongoDB來存儲可重用容器類型的實例時,定義這樣的模式非常有意義,因爲它可以幫助包裝提供方便的方法,驗證助手或注入合理的默認值。

但是,您也可以使用MongoDB作爲JSON文檔的大型哈希表 - 在這種情況下,模式沒有意義。

相關問題