モジュール: Mongoid::Clients::Options

次による拡張機能。
ActiveSupport::Concern
次のドキュメントに含まれます。
Mongoid::ClientsMongoid::Atlas
定義:
lib/mongoid/clients/options.rb

Overview

Mongoid::Document に含まれる混合モジュールで、永続性とクエリ操作のデータベース コンテキストを管理する機能が付与されます。 たとえば、これには、ドキュメントを別のコレクションに保存したり、セカンダリ インスタンスからドキュメントを読み取ったりすることが含まれます。

名前空間で定義済み

Modules: クラスメソッド

インスタンス メソッドの概要を折りたたむ

インスタンス メソッドの詳細

コレクション(親 = nil)= Mongo::Collection

ドキュメントの現在の永続化コンテキストのコレクションを取得します。

例:

現在の永続化コンテキストのコレクションを取得します。

document.collection

パラメーター:

  • オブジェクト (デフォルトはnil

    現在の永続化コンテキストのコレクション名の代わりにコレクション名が使用される親オブジェクト。

次の値を返します。

  • Mongo::Collection

    現在の永続化コンテキストのコレクション。



47
48
49
# ファイル 'lib/mongoid/clients/options.rb' は、 47行

デフォルト コレクション( = nil)
  duration_context.コレクション()
end

# collection_name = string

ドキュメントの現在の永続化コンテキストのコレクション名を取得します。

例:

現在の永続化コンテキストのコレクション名を取得します。

document.collection_name

次の値を返します。

  • ( string )

    現在の永続コンテキストのコレクション名。



58
59
60
# ファイル 'lib/mongoid/clients/options.rb' は、 58行

デフォルト collection_name
  duration_context.collection_name
end

# mongo_client = Mongo::Client

ドキュメントの現在の永続化コンテキストのデータベース クライアントを取得します。

例:

現在の永続化コンテキストのクライアントを取得します。

document.mongo_client

次の値を返します。

  • Mongo::Client

    現在の永続化コンテキストのクライアント。



69
70
71
# ファイル 'lib/mongoid/clients/options.rb' は、 69行

デフォルト mongo_client
  duration_context.クライアント
end

# properties_context = Mongoid ::PeristanceContext

注:

埋め込みドキュメントの場合、ルート親ドキュメントの永続性コンテキストが返されます。

ドキュメントの現在の永続化コンテキストを取得します。

例:

現在の永続化コンテキストを取得します。

document.persistence_context

次の値を返します。



83
84
85
86
87
88
89
90
91
# ファイル 'lib/mongoid/clients/options.rb' は、 83行

デフォルト duration_context
  場合 埋め込み & & !_root?
    _root.duration_context
  else
    PersistanceContext.得る(自己) ||
      PersistanceContext.得る(自己.クラス) ||
      PersistanceContext.新着情報(自己.クラス, storage_options)
  end
end

は? = true | false

注:

埋め込みドキュメントの場合、ルート親ドキュメントの永続化コンテキストが使用されます。

ドキュメントまたはドキュメントのクラスに永続性コンテキストが設定されているかどうかを返します。

例:

現在の永続化コンテキストを取得します。

document.persistence_context?

次の値を返します。

  • true | false

    永続化コンテキストが設定されているかどうか。



103
104
105
106
107
108
109
110
111
# ファイル 'lib/mongoid/clients/options.rb' は、 103行

デフォルト properties
  場合 埋め込み & & !_root?
    _root.properties
  else
    stored_storage_options&.any? ||
      PersistanceContext.得る(自己).存在するかどうか ||
      PersistanceContext.得る(自己.クラス).存在するかどうか
  end
end

(options_or_context , &lock)= で =オブジェクト

ブロック中にこのオブジェクトの永続化コンテキストを変更します。

例:

現在のドキュメントを別のコレクションに保存します。

model.with(collection: "bands") do |m|
  m.save
end

パラメーター:

  • options_or_context ハッシュ | Mongoid ::PerformanceContext

    ストレージ オプションまたは 永続性コンテキスト 。

  • options ハッシュ

    カスタマイズ可能なオプションのセット



28
29
30
31
32
33
34
35
# ファイル 'lib/mongoid/clients/options.rb' は、 28行

デフォルト と共に(options_or_context, &ブロック)
  initial_context = PersistanceContext.得る(自己)
  initial_cluster = duration_context.クラスター
  set_persistance_context(options_or_context)
  ノードの数 自己
保証する
  clear_persistance_context(initial_cluster, initial_context)
end