개요
Mongoid의 연관 관계를 사용하면 모델 간의 관계를 생성할 수 있습니다. 연관 관계를 정의할 때, Mongoid는 해당 연관 관계에 대한 메타데이터 저장합니다. 모델 클래스 또는 문서 에서 reflect_on_association 메서드를 호출하거나 특정 문서 의 메타데이터 에 직접 액세스하여 메타데이터 액세스 할 수 있습니다. 다음 예시 reflect_on_association 메서드를 사용하고 직접 액세스 하여 메타데이터 액세스 방법을 보여 줍니다.
# Get the metadata for a named association from the class or document Model.reflect_on_association(:<association_name>) # Directly access metadata on a document model.associations[:<association_name>]
참고
앞의 예시 에서 <association_name> 을 연결 이름으로 바꿉니다.
속성
모든 연관 관계에는 연관된 문서 에 대한 정보를 저장 속성이 포함되어 있습니다. 연관 관계에는 다음과 같은 속성이 포함됩니다:
_target: 프록시된 문서_base: 연관 관계가 정의된 문서_association: 연관 관계에 대한 정보
다음 예시 앞의 각 속성에 액세스합니다.
class Band include Mongoid::Document embeds_many :songs end Band.songs = [ song ] Band.songs._target # returns [ song ] Band.songs._base # returns band Band.songs._association # returns the association metadata
다음 표는 _association 속성에 저장된 정보를 보여줍니다.
메서드 | 설명 |
|---|---|
| 다형성 하위에 대한 상위 항목의 이름입니다. |
|
|
| 연결이 자동 빌드인지 여부를 반환합니다. |
| 연결이 자동 저장되는지 여부를 반환합니다. |
| 연관 관계에 부모로부터 계단식으로 내려오는 콜백이 있는지 여부를 반환합니다. |
| 프록시된 문서 의 클래스 이름입니다. |
| 연관 관계가 순환 연결인지 여부를 반환합니다. |
| 연결의 종속 옵션입니다. |
| 연결에 종속 삭제 또는 삭제 메서드가 있는 경우 |
| 연관이 다른 문서에 포함되어 있는지 여부를 반환합니다. |
| 연관 관계에 |
| 외래 키 필드 의 이름입니다. |
| 외래 키 필드의 더티 검사 메서드 이름입니다. |
| 외래 키 필드의 세터 이름입니다. |
| 외래 키가 자동 인덱싱되는지 여부를 반환합니다. |
| 모든 역방향 연관 관계의 이름입니다. |
| 단일 역방향 연관 관계의 이름입니다. |
| 역방향에 있는 연관 관계의 클래스 이름입니다. |
| 역방향에 있는 외래 키 필드 의 이름입니다. |
| 역방향 연관 관계의 클래스입니다. |
| 역방향 연관 관계의 메타데이터 . |
| 명시적으로 정의된 역방향 연관 관계의 이름입니다. |
| 역방향을 설정하다 데 사용되는 메서드의 이름입니다. |
| 역방향의 다형성 유형 필드 이름입니다. |
| 다형성 유형 필드의 역방향 설정자 이름입니다. |
| 연관 관계를 가져오는 데 사용되는 속성 해시의 필드 이름입니다. |
| 연결에 있는 프록시 문서의 클래스입니다. |
| 연관 관계 이름입니다. |
| ActiveRecord와의 API 호환성을 위해 |
| 연관 관계의 사용자 정의 정렬 옵션. |
| 연관 관계가 다형성인지 여부를 반환합니다. |
| 연관 관계를 설정하다 필드 의 이름입니다. |
| 포함된 연관 관계를 저장 속성의 이름입니다. |
| 연결에 터치 옵션이 있는지 여부를 반환합니다. |
| 다형성 유형을 가져올 필드 의 이름입니다. |
| 다형성 유형을 설정하다 필드 의 이름입니다. |
| 연관 관계에 연결된 유효성 검사가 있는지 여부를 반환합니다. |