2012-08-18 18 views
2

Spring Data MongoDB項目存在問題。我的問題是所有收集記錄中的_class屬性。我的用戶集合大小近130萬條記錄。所有記錄都有_class屬性。這是項目的問題和糟糕的設計。因爲MongoDB是一個基於文檔的系統。大小是集合中每個記錄的問題。用戶集合:Spring數據MongoDB「_class」不良設計模式

{ "_class" : "com.myproject.xxx.yy.aaa.bb.User", … } 

如果我想將User類移動到另一個包,該怎麼辦?爲什麼Spring Data將_class屬性添加到所有記錄?

+0

http://forum.springsource.org/showthread.php?112505-Spring-data-MongoDb-MappingMongoConverter-remove-_class – droggo 2012-08-18 14:06:48

回答

13

我不知道是什麼導致你的假設,以改善獲得建議的機會,如果你抨擊該項目尋求建議。除此之外,當使用軟件庫時,您可能會認爲實現細節已被認真考慮過,並且是出於某種原因的方式。

如果您花時間考慮閱讀參考文檔,您會發現section解釋了爲什麼_class屬性通常存在,以及如何調整寫入的值,如何自定義按鍵甚至轉動關閉寫入的類型信息。

讀完這些東西后,您現在可以反過來再次編寫完美的軟件。謝謝! PS:我花了一點時間來研究你設計的問題提問方式。 ;)

+1

科鏈路斷開時 – hellojava 2015-01-12 07:57:20

+0

認爲它不夠靈活: 是否有可能(足夠的努力)爲每個集合使用不同的類型屬性? ...就像學說(PHP)中基於註釋的方法,傑克遜? – Savash 2016-07-28 10:56:37

+0

答案並不是認爲它對每一種情況都是靈活的(如何纔算合理)。如果您認爲您需要更多靈活性,請隨時在我們的[JIRA](https:/jira.spring.io/browse/DATAMONGO)中打開一張票。 – 2016-07-28 14:34:27