2013-10-18 67 views
1

上下文:我正在使用mongodb插件,儘管這可能與此無關。MongoDB Grails GORM與hasMany/belongsTo的意外行爲

比方說,我有兩個領域類,Foo和酒吧,其中foo的hasMany酒吧和酒吧屬於關聯美孚:

class Foo { 
    static hasMany = [bar:Bar] 
} 

class Bar { 
    static belongsTo = [foo:Foo] 
} 

我預計這將是存儲將是富集合(或表) ,Bar的集合以及處理映射的FooBar集合。相反,我得到一個Foo集合和一個Bar集合,其中Bar有一個「foo」鍵。似乎發生了什麼只會加入belongsTo但省略hasMany的預期結果...

A)我的期望是否不正確,發生的是預期結果? B)如果不是A,我需要做些什麼才能符合我的期望?

想法?

回答

3

正如我們所知道的MongoDB非關係型數據庫,這是爲什麼發生的事情是正確的,它不會爲處理第三個表或集合有很多,但是,你正在使用MongoDB的插件,您可以查詢它喜歡有很多/ belongsTo,因爲你通常使用mysql。在你的情況DB結構foo的是:

{ "_id" : NumberLong(1), "version" : 0 } 

和酒吧將是:

{ "_id" : NumberLong(1), "foo" : NumberLong(1), "version" : 0 } 

,並提供給您,因爲它是級聯從父使用的情況下,刪除對孩子喜歡mysql

希望它有助於:)

+0

所以這是預期的結果。很高興知道! –