我很好奇Grails的MongoDB插件如何處理關係。爲了測試這個我做了兩個域類一個非常簡單的應用:MongoDB,Grails和關係
Author
■找兩個領域:String firstName
和String lastName
Book
■找兩個領域:String title
和Author author
建立的MongoDB後和Grails我做了一些Author
s和Book
s,並使用MongoDB交互式shell進行了窺視。我發現,關係的處理方式與在關係數據庫中處理的方式相同:引用其他對象的ID字段。
所以,現在的問題:
- 爲了格姆拉這一關,它需要一個單獨的連接來檢索每個文件?
- 如果是的話,在PostgreSQL或MySQL這樣的關係型數據庫中這樣做會不會更好?
- 如果上述兩個問題的答案確實是'是',那麼是否有更好的方法來管理文檔數據庫(如MongoDB)中的關係?我意識到MongoDB不應該是關係型的,但有些東西我沒有看到如何在沒有重複數據的情況下解決關係(從而導致更新噩夢)。
編輯:我也剛剛注意到,我的作者的'id'屬性沒有正確排序grails。這是否與使用MongoDB有關?在shell中,我可以看到Grails生成的所有文檔的_id屬性的數據類型爲NumberLong
。