Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

연관 관계 메타데이터

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 속성에 저장된 정보를 보여줍니다.

메서드
설명

Association#as

다형성 하위에 대한 상위 항목의 이름입니다.

Association#as?

as 옵션이 존재하는지 여부를 반환합니다.

Association#autobuilding?

연결이 자동 빌드인지 여부를 반환합니다.

Association#autosaving?

연결이 자동 저장되는지 여부를 반환합니다.

Association#cascading_callbacks?

연관 관계에 부모로부터 계단식으로 내려오는 콜백이 있는지 여부를 반환합니다.

Association#class_name

프록시된 문서 의 클래스 이름입니다.

Association#cyclic?

연관 관계가 순환 연결인지 여부를 반환합니다.

Association#dependent

연결의 종속 옵션입니다.

Association#destructive?

연결에 종속 삭제 또는 삭제 메서드가 있는 경우 true 를 반환합니다.

Association#embedded?

연관이 다른 문서에 포함되어 있는지 여부를 반환합니다.

Association#forced_nil_inverse?

연관 관계에 nil 역원이 정의되어 있는지 여부를 반환합니다.

Association#foreign_key

외래 키 필드 의 이름입니다.

Association#foreign_key_check

외래 키 필드의 더티 검사 메서드 이름입니다.

Association#foreign_key_setter

외래 키 필드의 세터 이름입니다.

Association#indexed?

외래 키가 자동 인덱싱되는지 여부를 반환합니다.

Association#inverses

모든 역방향 연관 관계의 이름입니다.

Association#inverse

단일 역방향 연관 관계의 이름입니다.

Association#inverse_class_name

역방향에 있는 연관 관계의 클래스 이름입니다.

Association#inverse_foreign_key

역방향에 있는 외래 키 필드 의 이름입니다.

Association#inverse_klass

역방향 연관 관계의 클래스입니다.

Association#inverse_association

역방향 연관 관계의 메타데이터 .

Association#inverse_of

명시적으로 정의된 역방향 연관 관계의 이름입니다.

Association#inverse_setter

역방향을 설정하다 데 사용되는 메서드의 이름입니다.

Association#inverse_type

역방향의 다형성 유형 필드 이름입니다.

Association#inverse_type_setter

다형성 유형 필드의 역방향 설정자 이름입니다.

Association#key

연관 관계를 가져오는 데 사용되는 속성 해시의 필드 이름입니다.

Association#klass

연결에 있는 프록시 문서의 클래스입니다.

Association#name

연관 관계 이름입니다.

Association#options

ActiveRecord와의 API 호환성을 위해 self를 반환합니다.

Association#order

연관 관계의 사용자 정의 정렬 옵션.

Association#polymorphic?

연관 관계가 다형성인지 여부를 반환합니다.

Association#setter

연관 관계를 설정하다 필드 의 이름입니다.

Association#store_as

포함된 연관 관계를 저장 속성의 이름입니다.

Association#touchable?

연결에 터치 옵션이 있는지 여부를 반환합니다.

Association#type

다형성 유형을 가져올 필드 의 이름입니다.

Association#type_setter

다형성 유형을 설정하다 필드 의 이름입니다.

Association#validate?

연관 관계에 연결된 유효성 검사가 있는지 여부를 반환합니다.

돌아가기

연결 동작 사용자 지정

이 페이지의 내용