クラス: Mongoid::Contextual::Memory
- 継承:
-
オブジェクト
- オブジェクト
- Mongoid::Contextual::Memory
- 次のことが含まれます。
- 列挙可能、関連付け::EagerLoadable 、集計可能::メモリ、クエリ可能 、位置指定
- 定義:
- lib/mongoid/contextual/memory.rb
Overview
アプリケーション メモリにロードされたドキュメントに対して一括クエリと永続化操作を実行するために使用されるコンテキスト オブジェクト。 このクラスのメソッド インターフェースは Mongoid::Contextual::Mongo と整合性があります。
インスタンス属性の概要を折りたたむ
-
ドキュメント数: オブジェクト
readOnly
属性ドキュメントの値を返します。
- セレクターに一致するメモリ内のドキュメントを照合する数。 ( ) = オブジェクト readOnly
-
# path = オブジェクト
readOnly
属性パスの値を返します。
- # path アトミック パス。 (アトミック パス。) = オブジェクト readOnly
-
#ルート= オブジェクト
readOnly
属性ルートの値を返します。
- # root ルート ドキュメント。 (ルート ドキュメント) = オブジェクト readOnly
-
#セレクター= オブジェクト
readOnly
属性セレクターの値を返します。
- #セレクター ルート ドキュメント セレクター。 (ルート ドキュメント セレクター) = オブジェクト readOnly
クエリ可能な に含まれる属性
コレクション、コレクション クエリ対象のコレクションです。 、 #criteria 、 #criteria コンテキストの基準。 、 #klas 、 #klass 基準の klas。
インスタンス メソッドの概要を折りたたむ
-
# == (その他) ==(その他) ========= ================================================================== false
コンテキストが他のオブジェクトと等しいかどうかを確認します。
-
#delete = nil (また: #delete_all)
データベース内のセレクターに一致するすべてのドキュメントを削除します。
-
#破棄= nil (また: #delete_all)
データベース内のセレクターに一致するすべてのドキュメントを破棄します。
-
distinct<Object>
指定されたフィールドの db で個別の値を取得します。
-
各( & ブロック) = 列挙型
コンテキストを反復処理します。
-
が存在する場合(id_or_条件 = :none) = true | false
コンテキストにドキュメントが存在するかどうかを確認します。
-
5 分の 1 = ドキュメント
条件のセレクターのデータベース内の 5 番目の document を取得します。
-
# 5 番目の。 = ドキュメント
条件のセレクターのデータベース内の 5 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
-
最初に最初に#を指定する(limit = nil)=ドキュメント(#one、find_first)
条件のセレクターのデータベース内の最初のドキュメントを取得します。
-
#first! ⇒ Document
条件のセレクターのデータベース内の最初のドキュメントを取得します。見つからない場合はエラーが発生します。
-
4 番目の = ドキュメント
条件のセレクターのデータベース内の 4 番目の document を取得します。
-
4 番目の。 = ドキュメント
条件のセレクターのデータベース内の 4 番目の document を取得します。見つからない場合はエラーが発生します。
-
#inc(incs) ⇒ Enumerator
すべてのドキュメントの 値を増やします。
-
#初期化(条件) = メモリ
コンストラクター
メモリ コンテキスト内に新しい を作成します。
-
#last(limit = nil) ⇒ Document
条件のセレクターのデータベース内の最後のdocumentを取得します。
-
#last! ⇒ Document
条件のセレクターのデータベース内の最後のドキュメントを取得します。見つからない場合はエラーが発生します。
-
や では整数(また : サイズ)
コンテキスト内の一致するドキュメントの長さを取得します。
-
#制限(値) ~ メモリ
返されるドキュメントの数を制限します。
-
# 選択 (* フィールド)= オブジェクト | Array[Object]<Object>
メモリ内のフィールド値を選択します。
-
プル型(* フィールド)= 配列= オブジェクト=================================<Object> 配列未満<Object>
メモリ内のフィールド値をプルします。
-
秒= ドキュメント = ドキュメント
条件のセレクターのデータベース内の 2 番目の document を取得します。
-
#秒です。 = ドキュメント
条件のセレクターのデータベース内の 2 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
-
# second_to_last=last=======================================================
条件のセレクターのデータベース内の最後から 2 番目のdocumentを取得します。
-
秒_to_last. = ドキュメント
条件のセレクターのデータベース内の最後から 2 番目の document を取得します。見つからない場合はエラーが発生します。
-
#skip (値)=メモリ
指定された数のドキュメントをスキップします。
-
#sort(values) ⇒ Memory
指定された 仕様でドキュメントをソートします。
-
#take(limit = nil) ⇒ Document
指定された数のドキュメントをデータベースから取得します。
-
#take! ⇒ Document
データベースから指定された数のドキュメントを取得します。見つからない場合はエラーが発生します。
-
# totaly (フィールド) = ハッシュ
メモリ内のフィールド値を合計します。
-
3 つ目の = ドキュメント
条件のセレクターのデータベース内の 3 番目の document を取得します。
-
3 つ目の# = ドキュメント
条件のセレクターのデータベース内の 3 番目の document を取得します。見つからない場合はエラーが発生します。
-
# Third_to_last = timeドキュメント
条件のセレクターのデータベース内の最後から 3 番目のdocumentを取得します。
-
# Third_to_last = ドキュメント
条件の セレクター のデータベース内の最後から 3 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
-
#update(attributes = nil) ⇒ nil | false
最初に一致するドキュメントを不可分的に更新します。
-
#update_all(attributes = nil) ⇒ nil | false
一致するすべてのドキュメントを不可分的に更新します。
位置から含まれるメソッド
クエリ可能な に含まれるメソッド
関連::EagerLoadableに含まれるメソッド
#create_pipeline、#eager_load、#eager_load_with_lookup、#eager_loadable?、#preload、#preload_for_lookup、#switch_local_and_foreign_fields?
Aggregable::Memoryに含まれるメソッド
、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、
コンストラクターの詳細
#初期化(条件) =メモリ
メモリ コンテキスト内に新しい を作成します。
175 176 177 178 179 180 181 182 183 184 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行175 デフォルト 初期化(条件) @criteria, @klass = 条件, 条件.klass @documents = 条件.ドキュメント.選択する 行う |doc| @root ||= doc._root @collection ||= ルート.コレクション doc._一致するか?(条件.セレクター) end apply_sorting end |
インスタンス属性の詳細
ドキュメント数 →オブジェクト(読み取り専用)
属性ドキュメントの値を返します。
23 24 25 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行23 デフォルト ドキュメント @documents end |
セレクターに一致するメモリ内のドキュメントを照合する数。 ( ) 詳しくは、オブジェクト(読み取り専用)
23 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行23 attr_reader :documents, :path, : root, : セレクター |
# path =オブジェクト(読み取り専用)
属性パスの値を返します。
23 24 25 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行23 デフォルト path @path end |
# path アトミック パス。 (アトミック パス。) 詳しくは、オブジェクト(読み取り専用)
23 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行23 attr_reader :documents, :path, : root, : セレクター |
#ルート=オブジェクト(読み取り専用)
属性ルートの値を返します。
23 24 25 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行23 デフォルト ルート @root end |
# root ルート ドキュメント。 (ルート ドキュメント) 詳しくは、オブジェクト(読み取り専用)
23 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行23 attr_reader :documents, :path, : root, : セレクター |
#セレクター=オブジェクト(読み取り専用)
属性セレクターの値を返します。
23 24 25 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行23 デフォルト セレクター @Selector end |
#セレクター ルート ドキュメント セレクター。 (ルート ドキュメント セレクター) =オブジェクト(読み取り専用)
23 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行23 attr_reader :documents, :path, : root, : セレクター |
インスタンス メソッドの詳細
# == (その他) ==(その他) ========= ================================================================== false
コンテキストが他のオブジェクトと等しいかどうかを確認します。
33 34 35 36 37 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行33 デフォルト ==(その他) return false ただし、 その他.respond_to?(:entries) エントリ == その他.エントリ end |
delete = nil別名: #delete_all
データベース内のセレクターに一致するすべてのドキュメントを削除します。
45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行45 デフォルト 削除 delete = count 削除 = map 行う |doc| preserve_remove(doc) doc.送信(:as_attributes) end ただし、 削除.空の場合 コレクション.find(セレクター).update_one( 位置的に(セレクター, '$pullAll' => { path => 削除 }), セッション: _session ) end delete end |
# delete = nil 別名 : delete_all
データベース内のセレクターに一致するすべてのドキュメントを破棄します。
67 68 69 70 71 72 73 74 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行67 デフォルト 破棄する delete = count 各 行う |doc| ドキュメント.delete_one(doc) doc.破棄する end delete end |
distinct<Object>
指定されたフィールドの db で個別の値を取得します。
85 86 87 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行85 デフォルト distinct(フィールド) プル型(フィールド).一意 end |
各( & ブロック) =列挙型
コンテキストを反復処理します。 ブロックが提供された場合、 はそれぞれの Mongoid ドキュメントに降格し、それ以外の場合は列挙を返します。
98 99 100 101 102 103 104 105 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行98 デフォルト 各(&ブロック) 場合 ブロック_指定 document_for_iteration.各(&ブロック) 自己 else to_enum end end |
が存在する場合(id_or_条件 = :none) = true | false
コンテキストにドキュメントが存在するかどうかを確認します。
123 124 125 126 127 128 129 130 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行123 デフォルト 存在するかどうか(id_or_条件 = :none) ケース id_or_条件 次の場合: :none 次に any? 次の場合: nil, false 次に false 次の場合: ハッシュ 次に メモリ.新着情報(条件.WHERE(id_or_条件)).存在するかどうか else メモリ.新着情報(条件.WHERE(_id: id_or_条件)).存在するかどうか end end |
5 分の 1 =ドキュメント
条件のセレクターのデータベース内の 5 番目の document を取得します。
456 457 458 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行456 デフォルト 50 Bearer_load([ ドキュメント.50 ]).最初に end |
# 5 番目の。 =ドキュメント
条件のセレクターのデータベース内の 5 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
470 471 472 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行470 デフォルト 5 番目のドキュメント。 50 || resume_document_not_find_error end |
最初に#(制限=nil)=ドキュメントは別名: 1 、 find_first
条件のセレクターのデータベース内の最初のドキュメントを取得します。
140 141 142 143 144 145 146 147 148 149 150 151 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行140 デフォルト 最初に(limit = nil) use_first = limit.nil? limit ||= 1 場合 条件.use_lookup? @criteria = 条件.limit(limit) 結果 = weekly_load_with_lookup else 結果 = Bearer_load(ドキュメント.最初に(limit)) end use_first ? 結果.最初に : 結果 end |
#first! ⇒ Document
条件のセレクターのデータベース内の最初のドキュメントを取得します。見つからない場合はエラーが発生します。
165 166 167 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行165 デフォルト 1 つ目。 最初に || resume_document_not_find_error end |
4 番目の =ドキュメント
条件のセレクターのデータベース内の 4 番目の document を取得します。
432 433 434 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行432 デフォルト 4 つ Bearer_load([ ドキュメント.4 つ ]).最初に end |
4 番目の。 =ドキュメント
条件のセレクターのデータベース内の 4 番目の document を取得します。見つからない場合はエラーが発生します。
446 447 448 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行446 デフォルト 4 つ目。 4 つ || resume_document_not_find_error end |
#inc(incs) ⇒ Enumerator
すべてのドキュメントの 値を増やします。
194 195 196 197 198 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行194 デフォルト 含む(incs) 各 行う |ドキュメント| ドキュメント.含む(incs) end end |
#last(limit = nil) ⇒ Document
条件のセレクターのデータベース内の最後のdocumentを取得します。
208 209 210 211 212 213 214 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行208 デフォルト last(limit = nil) 場合 limit Bearer_load(ドキュメント.last(limit)) else Bearer_load([ ドキュメント.last ]).最初に end end |
#last! ⇒ Document
条件のセレクターのデータベース内の最後のドキュメントを取得します。見つからない場合はエラーが発生します。
226 227 228 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行226 デフォルト 最後に、次を追加します。 last || resume_document_not_find_error end |
長さ~整数別名:サイズ
コンテキスト内の一致するドキュメントの長さを取得します。
236 237 238 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行236 デフォルト Length ドキュメント.Length end |
#制限(値) ~メモリ
返されるドキュメントの数を制限します。
249 250 251 252 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行249 デフォルト limit(価値) 自己.制限する = 価値 自己 end |
# 選択 (* フィールド)= オブジェクト | Array[Object]<Object>
メモリ内のフィールド値を選択します。
276 277 278 279 280 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行276 デフォルト 選択(*フィールド) return ただし、 doc = ドキュメント.最初に plack_from_doc(doc, *フィールド) end |
プル型 (* フィールド)= 配列= オブジェクト=================================配列未満<Object><Object>
メモリ内のフィールド値をプルします。
262 263 264 265 266 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行262 デフォルト プル型(*フィールド) ドキュメント.map 行う |doc| plack_from_doc(doc, *フィールド) end end |
秒= ドキュメント =ドキュメント
条件のセレクターのデータベース内の 2 番目の document を取得します。
384 385 386 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行384 デフォルト 秒 Bearer_load([ ドキュメント.秒 ]).最初に end |
#秒です。 =ドキュメント
条件のセレクターのデータベース内の 2 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
398 399 400 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行398 デフォルト 秒です。 秒 || resume_document_not_find_error end |
# second_to_last=last =======================================================
条件のセレクターのデータベース内の最後から 2 番目のdocumentを取得します。
480 481 482 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行480 デフォルト second_to_last Bearer_load([ ドキュメント.second_to_last ]).最初に end |
秒_to_last. =ドキュメント
条件のセレクターのデータベース内の最後から 2 番目の document を取得します。見つからない場合はエラーが発生します。
494 495 496 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行494 デフォルト second_to_last. second_to_last || resume_document_not_find_error end |
#skip (値)=メモリ
指定された数のドキュメントをスキップします。
336 337 338 339 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行336 デフォルト スキップ(価値) 自己.スキップ = 価値 自己 end |
#sort(values) ⇒ Memory
指定された 仕様でドキュメントをソートします。
350 351 352 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行350 デフォルト sort(values) in_place_sort(values) および 自己 end |
#take(limit = nil) ⇒ Document
指定された数のドキュメントをデータベースから取得します。
306 307 308 309 310 311 312 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行306 デフォルト が(limit = nil) 場合 limit Bearer_load(ドキュメント.が(limit)) else Bearer_load([ ドキュメント.最初に ]).最初に end end |
#take! ⇒ Document
データベースから指定された数のドキュメントを取得します。見つからない場合はエラーが発生します。
324 325 326 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行324 デフォルト と一緒に使用されます が || resume_document_not_find_error end |
# totaly (フィールド) =ハッシュ
メモリ内のフィールド値を合計します。
290 291 292 293 294 295 296 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行290 デフォルト 点(フィールド) ドキュメント.each_with_object({}) 行う |d, ac| v = retrieve_value_at_path(d, フィールド) ac[v] ||= 0 ac[v] += 1 end end |
3 つ目の =ドキュメント
条件のセレクターのデータベース内の 3 番目の document を取得します。
408 409 410 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行408 デフォルト 3 つ目の Bearer_load([ ドキュメント.3 つ目の ]).最初に end |
3 つ目の# =ドキュメント
条件のセレクターのデータベース内の 3 番目の document を取得します。見つからない場合はエラーが発生します。
422 423 424 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行422 デフォルト 3 つ目。 3 つ目の || resume_document_not_find_error end |
# Third_to_last = timeドキュメント
条件のセレクターのデータベース内の最後から 3 番目のdocumentを取得します。
504 505 506 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行504 デフォルト Third_to_last Bearer_load([ ドキュメント.Third_to_last ]).最初に end |
# Third_to_last =ドキュメント
条件の セレクター のデータベース内の最後から 3 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
518 519 520 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行518 デフォルト Third_to_last. Third_to_last || resume_document_not_find_error end |
#update(attributes = nil) ⇒ nil | false
最初に一致するドキュメントを不可分的に更新します。
362 363 364 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行362 デフォルト update(属性 = nil) update_documents(属性, [ 最初に ]) end |
#update_all(attributes = nil) ⇒ nil | false
一致するすべてのドキュメントを不可分的に更新します。
374 375 376 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行374 デフォルト update_all(属性 = nil) update_documents(属性, エントリ) end |