Docs Menu

Rails 통합

이 가이드 에서는 Ruby on Rails 애플리케이션 에서 Mongoid를 사용할 때 자동으로 활성화되는 기능에 대해 학습 수 있습니다. 이 가이드 애플리케이션 에서 활성화 할 수 있는 Rails 관련 기능에 대해서도 설명합니다.

config.mongoid에 액세스하여 메인 애플리케이션 파일 에서 Mongoid 관련 옵션 및 기타 Rails 환경 관련 옵션을 구성할 수 있습니다. mongoid:config 생성기는 config/initializers/mongoid.rb 파일 에 이니셜라이저를 생성합니다.

참고

config/mongoid.yml 파일 에 설정하다 모든 옵션은 다른 곳에 설정하다 옵션보다 우선합니다. 따라서 가능하면 mongoid.yml 을 Mongoid 구성의 기본값 위치 로 사용합니다.

사용 가능한 모든 구성 옵션에 대해 자세히 학습 구성 가이드를 참조하세요.

다음 코드는 config.mongoid에 액세스하여 Rails 로거를 생성하는 방법을 보여줍니다.

module MyApplication
class Application < Rails::Application
config.mongoid.logger = Logger.new(STDERR, :warn)
end
end

로깅 설정에 대해 자세히 학습 로깅 구성 가이드 참조하세요.

단일 컬렉션 상속을 설정하다 하려면 Mongoid가 개발 모드 에서 모든 요청 전에 모든 모델을 미리 로드해야 합니다. 이렇게 하면 애플리케이션 속도가 느려질 수 있으므로 상속을 사용하지 않는 경우 이 기능 해제할 수 있습니다.

다음 코드는 preload_models 기능 false로 설정하여 사전 로드를 해제하는 방법을 보여줍니다.

config.mongoid.preload_models = false

Mongoid는 Active Record와 마찬가지로 특정 예외를 HTTP 상태 코드로 자동 변환하도록 Rails를 구성합니다. 다음 목록은 Mongoid 예외와 HTTP 코드 간의 변환을 제공합니다.

  • Mongoid::Errors::DocumentNotFound: 다음으로 변환 404 Not Found

  • Mongoid::Errors::Validations: 다음으로 변환 422 Unprocessable Content

Mongoid는 데이터베이스 명령을 실행하는 데 소요된 시간을 Rails 계측 이벤트 process_action.action_controller에 출력할 수 있습니다. Mongoid는 운전자 명령 모니터링 통해 이러한 값을 얻습니다. 애플리케이션 다음 출력과 같이 이 시간을 조회 시간과 함께 기록합니다.

Completed 200 OK in 2739ms (Views: 12.6ms | MongoDB: 0.2ms)

이 로깅은 Rails 애플리케이션 에서 자동으로 설정하다 됩니다.

참고

시간 계산

로그 항목에 표시된 시간은 MongoDB deployment MongoDB 작업을 실행 데 걸리는 시간과 MongoDB Server 에서 명령을 보내고 결과를 받는 데 걸리는 시간입니다. 운전자 와 Mongoid가 쿼리를 생성하거나, 유형을 캐스팅하거나, 기타 결과를 프로세스 데 걸리는 시간은 포함되지 않습니다.

Rails 프레임워크 사용할 때 Mongoid에 다음과 같은 레이크 작업을 사용할 수 있습니다.

  • db:create_indexes: 모델에서 모든 인덱스 정의를 읽고 데이터베이스 에 생성을 시도합니다.

  • db:remove_indexes: 각 모델에 대한 인덱스 제거

  • db:drop: 시스템 컬렉션을 제외한 데이터베이스 의 모든 컬렉션을 삭제합니다.

  • db:purge: 인덱스를 포함한 모든 데이터를 데이터베이스 에서 삭제합니다.

  • db:seed: db/seeds.rb 파일 에서 데이터베이스 시드합니다.

  • db:setup: 인덱스를 생성하고 데이터베이스 시드합니다.

다음 레이크 작업은 프레임워크 종속성 목적으로만 존재하며 어떤 조치도 수행하지 않습니다.

  • db:test:prepare

  • db:schema:load

  • db:create

  • db:migrate

Mongoid를 사용하는 새 Rails 애플리케이션 설정하다 하는 방법에 대한 학습 빠른 시작 - Ruby on Rails 가이드 참조하세요.

기존 Rails 애플리케이션 에 Mongoid를 추가하는 방법을 학습 기존 애플리케이션에 Mongoid 추가 가이드 의 Rails 애플리케이션 섹션을 참조하세요.