2013-10-18 2 views
1

컨텍스트 : mongodb 플러그인을 사용하고 있습니다.MongoDB Grails GORM 예상치 못한 동작이 hasMany/belongsTo

의 나는 두 개의 도메인 클래스, 푸와 바, 있다고 가정 해 봅시다 곳 푸 hasMany의 바 및 바 belongsTo를 푸 :

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

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

내가 기대하는 푸에 모음 (또는 테이블)이 될 것이다 저장 될 것입니다 무슨 , Bar 모음 및 매핑을 처리하는 FooBar 모음이 있습니다. 대신 나는 Foo 컬렉션과 Bar 컬렉션을 얻고 있습니다. Bar는 "foo"키를 가지고 있습니다. 무슨 일이 일어나고있는 것은 단지 belongsTo를 추가하는 것만으로도 hasMany를 생략 할 것으로 예상되는 것 같습니다.

가) 내 기대가 단순히 부정확하고 예상되는 결과가 무엇입니까? B) A가 아니라면 내 기대치와 일치시키기 위해해야 ​​할 특별한 것이 있습니까?

생각하십니까?

답변

3

우리는 mongodb가 비 관계형 데이터베이스라는 것을 알고 있었기 때문에 무슨 일이 일어나고 있는지, 세 번째 테이블이나 처리를위한 컬렉션을 만들지는 않았지만, mongodb 플러그인을 사용하는 경우 많은 것을 쿼리 할 수 ​​있습니다./belongsTo 일반적으로 mysql에서 사용한다.

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

과 바에 대한

은 다음과 같습니다 :

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

그리고 그것은 캐스케이드 사용하는 경우처럼 부모로부터 자식에게 삭제 그대로, 당신을 제공 할 것입니다 foo에 대한 사례 DB 구조에있을 것입니다 mysql

호프가 도와줍니다.

+0

이렇게 예상되는 결과입니다. 알아 둘만한! –

관련 문제