모듈: Mongoid::Config

확장자:
Forwardable, Config, Defaults, Encryption, Options
다음을 포함합니다.
DeprecatedOptions
포함 항목:
Config
다음에 정의됨:
lib/mongoid/config.rb,
lib/mongoid/config/options.rb,
lib/mongoid/config/defaults.rb,
lib/mongoid/config/ 암호화.rb,
lib/mongoid/config/environment.rb,
lib/mongoid/config/validators/ 클라이언트.rb,
lib/mongoid/config/validators/option.rb,
lib/mongoid/config/validators/async_query_executor.rb

개요

이 모듈은 데이터베이스 연결을 포함하여 Mongoid에 대한 모든 구성 옵션을 정의합니다.

네임스페이스 아래에 정의됨

모듈: Defaults, DeprecatedOptions, Encryption, Environment, Options, Validators

상수 요약 접기

LOCK =
뮤텍스.신규

DeprecatedOptions에 포함된 상수

DeprecatedOptions::OPTIONS

인스턴스 메서드 요약 접기

옵션에 포함된 메서드

기본값, log_level, 옵션, 재설정, 설정

기본값에 포함된 메서드

load_defaults

암호화에 포함된 메서드

encryption_schema_map

DeprecatedOptions에 포함된 메서드

앞에 추가

인스턴스 메서드 세부 정보

#클라이언트해시

클라이언트 구성 또는 빈 해시를 가져옵니다.

예시:

클라이언트 구성을 가져옵니다.

config.clients

반환합니다:

  • (해시)

    클라이언트 구성.



359
360
361
# 파일 'lib/mongoid/config.rb', 359줄

def 클라이언트
  @clients ||= {}
end

#configself

구성 DSL에 사용할 구성 싱글톤을 반환합니다.

반환합니다:

  • (self)

    구성 싱글톤.



177
178
179
# 파일 'lib/mongoid/config.rb', 177줄

def config
  self
end

#구성되었나요?true | false

Mongoid가 구성되었나요? 이는 하나 이상의 유효한 클라이언트 구성이 있는지 확인하는 것입니다.

예시:

Mongoid가 구성되어 있나요?

config.configured?

반환합니다:

  • (true | false)

    Mongoid가 구성된 경우.



188
189
190
# 파일 'lib/mongoid/config.rb', 188줄

def 구성?
  클라이언트.키?(:default)
end

#connect_to(name, options = { read: { 모드: : 프라이머리 }}) ⇒ 객체

참고:

편의를 위해 개발 또는 테스트 환경에서만 사용하세요.

기본값 클라이언트 에서 제공된 데이터베이스 이름에 연결합니다.

예시:

연결할 데이터베이스 를 설정합니다.

config.connect_to("mongoid_test")

매개변수:

  • 이름 (string)

    데이터베이스 이름입니다.



200
201
202
203
204
205
206
207
208
# 파일 'lib/mongoid/config.rb', 200줄

def connect_to(이름, 옵션 = { 읽기: { 모드: :primary }})
  self.클라이언트 = {
    기본값: {
      database: 이름,
      호스트: [ "localhost:27017" ],
      옵션: 옵션
    }
  }
end

#deregister_model(klass) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

Mongoid를 사용하여 애플리케이션 에서 모델을 등록 취소합니다.

매개변수:

  • class (클래스)

    등록을 취소할 모델입니다.



267
268
269
270
271
# 파일 'lib/mongoid/config.rb', 267줄

def deregister_model(class)
  잠금.동기화 do
    모델.삭제(class)
  end
end

#destructive_fieldsArray<String>

Mongoid::Document에 정의된 경우 파괴적인 일을 일으킬 수 있는 필드 이름을 반환합니다.

예시:

파괴적인 필드를 가져옵니다.

config.destructive_fields

반환합니다:

  • (Array<String>)

    잘못된 필드 이름의 배열 입니다.



217
218
219
# 파일 'lib/mongoid/config.rb', 217줄

def destructive_fields
  컴포저블.금지된_메서드
end

#로드!(경로, 환경 = nil) ⇒ 객체

호환되는 mongoid.yml 파일 에서 설정을 로드합니다. 이는 Rails 이외의 프레임워크로 쉽게 설정 하는 데 사용할 수 있습니다.

예시:

Mongoid를 구성합니다.

Mongoid.load!("/path/to/mongoid.yml")

매개변수:

  • 경로 (string)

    파일 의 경로입니다.

  • 환경 (string | 기호) (기본값: nil)

    로드할 환경입니다.



229
230
231
232
233
234
235
236
237
# 파일 'lib/mongoid/config.rb', 229줄

def 로드!(경로, 환경 = nil)
  설정 = 환경.load_yaml(경로, 환경)
  만약 설정.현재?
    클라이언트.연결 해제
    클라이언트.지우기
    load_configuration(설정)
  end
  설정
end

#load_configuration(settings) ⇒ 객체

설정 해시에서 모든 구성을 로드합니다.

예시:

구성을 로드합니다.

config.load_configuration(settings)

매개변수:

  • 설정 (해시)

    구성 설정.



279
280
281
282
283
284
285
# 파일 'lib/mongoid/config.rb', 279줄

def load_configuration(설정)
  구성 = 설정.with_in Different_access
  self.옵션 = 구성[:options]
  self.클라이언트 = 구성[:clients]
  mongo.옵션 = 구성[:driver_options] || {}
  set_log_levels
end

#modelsArray<Class>

애플리케이션 의 모든 모델 가져오기 - 여기에는 Mongoid::Document가 포함된 모든 것이 포함됩니다.

예시:

모든 모델을 가져옵니다.

config.models

반환합니다:

  • (Array<Class>)

    애플리케이션 의 모든 모델입니다.



246
247
248
# 파일 'lib/mongoid/config.rb', 246줄

def 모델
  @models ||= []
end

#options=(options) ⇒ 객체

구성 옵션을 설정합니다. 각각 개별적으로 유효성을 검사합니다.

예시:

옵션을 설정합니다.

config.options = { raise_not_found_error: true }

매개변수:

  • 옵션 (해시)

    구성 옵션입니다.



343
344
345
346
347
348
349
350
351
# 파일 'lib/mongoid/config.rb', 343줄

def options=(옵션)
  만약 옵션
    유효성 검사기::AsyncQueryExecutor.유효성 검사(옵션)
    옵션.각각의 쌍 do |옵션, value|
      유효성 검사기::옵션.유효성 검사(옵션)
      send("#{option}=", value)
    end
  end
end

#override_client(name) ⇒ string | 기호

클라이언트 를 재정의하여 전역적으로 사용합니다.

예시:

클라이언트 를 전역으로 재정의합니다.

config.override_client(:optional)

매개변수:

  • 이름 (string | 기호)

    클라이언트의 이름입니다.

반환합니다:

  • (string | 기호)

    전역 재정의입니다.



307
308
309
# 파일 'lib/mongoid/config.rb', 307줄

def Override_client(이름)
  스레드.client_override = 이름 ? 이름.to_s : nil
end

#Override_database(이름) ⇒ string | 기호

전역적으로 사용하려면 데이터베이스 를 재정의합니다.

예시:

데이터베이스 전역으로 재정의합니다.

config.override_database(:optional)

매개변수:

  • 이름 (string | 기호)

    데이터베이스의 이름입니다.

반환합니다:

  • (string | 기호)

    전역 재정의입니다.



295
296
297
# 파일 'lib/mongoid/config.rb', 295줄

def override_database(이름)
  스레드.database_override = 이름
end

#퍼지!true

참고:

이는 모든 데이터를 삭제하는 가장 빠른 방법입니다.

인덱스를 포함한 모든 컬렉션의 모든 데이터를 제거합니다.

예시:

모든 데이터를 삭제합니다.

Mongoid::Config.purge!

반환합니다:

  • (true)

    true.



319
320
321
# 파일 'lib/mongoid/config.rb', 319줄

def 퍼지!
  global_client.database.collections.(&:drop) 개인정보 정책에 true
end

#register_model(klass) ⇒ Object

Mongoid를 사용하여 애플리케이션 에 모델을 등록합니다.

예시:

모델을 등록합니다.

config.register_model(Band)

매개변수:

  • class (클래스)

    등록할 모델입니다.



256
257
258
259
260
# 파일 'lib/mongoid/config.rb', 256줄

def Register_model(class)
  잠금.동기화 do
    모델.push(class) 하지 않는 한 모델.포함?(class)
  end
end

#Running_with_passenger?true | false

애플리케이션 이 Passenger로 실행 되고 있나요?

예시:

애플리케이션에서 승객을 사용하고 있나요?

config.running_with_passenger?

반환합니다:

  • (true | false)

    앱 이 Passenger에 배포된 경우.



379
380
381
# 파일 'lib/mongoid/config.rb', 379줄

def Running_with_passenger?
  @running_with_passenger ||= 정의됨?(PherationPassenger)
end

#time_zoneString

사용할 표준 구역 를 가져옵니다.

예시:

구역 를 가져옵니다.

Config.time_zone

반환합니다:

  • (string)

    표준 구역.



369
370
371
# 파일 'lib/mongoid/config.rb', 369줄

def time_zone
  use_utc? ? "UTC" : ::시간.영역
end

#잘라내기!true

참고:

이는 퍼지보다 느립니다!

모든 컬렉션의 모든 데이터를 자르고 인덱스는 자르지 않습니다.

예시:

모든 컬렉션 데이터를 잘라냅니다.

Mongoid::Config.truncate!

반환합니다:

  • (true)

    true.



331
332
333
334
335
# 파일 'lib/mongoid/config.rb', 331줄

def 잘라내기!
  global_client.database.collections. do |컬렉션|
    컬렉션.찾기.delete_many
  end 개인정보 정책에 true
end