クラス: 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 番目のドキュメントを取得します。
-
# 5 番目の。 = ドキュメント
条件のセレクターのデータベース内の 5 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
-
最初に最初に#を指定する(limit = nil)=ドキュメント(#one、find_first)
条件のセレクターのデータベース内の最初のドキュメントを取得します。
-
#first! ⇒ Document
条件のセレクターのデータベース内の最初のドキュメントを取得します。見つからない場合はエラーが発生します。
-
4 番目の = ドキュメント
条件のセレクターのデータベース内の 4 番目のドキュメントを取得します。
-
4 番目の。 = ドキュメント
条件のセレクターの データベース内の 4 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
-
#inc(incs) ⇒ Enumerator
すべてのドキュメントの 値を増やします。
-
#初期化(条件) = メモリ
コンストラクター
メモリ コンテキスト内に新しい を作成します。
-
#last(limit = nil) ⇒ Document
条件のセレクターのデータベース内の最後のドキュメントを取得します。
-
#last! ⇒ Document
条件のセレクターのデータベース内の最後のドキュメントを取得します。見つからない場合はエラーが発生します。
-
や では整数(また : サイズ)
コンテキスト内の一致するドキュメントの長さを取得します。
-
#制限(値) ~ メモリ
返されるドキュメントの数を制限します。
-
# 選択 (* フィールド)= オブジェクト | Array[Object]<Object>
メモリ内のフィールド値を選択します。
-
プル型(* フィールド)= 配列= オブジェクト=================================<Object> 配列未満<Object>
メモリ内のフィールド値をプルします。
-
秒= ドキュメント = ドキュメント
条件のセレクターのデータベース内の 2 番目のドキュメントを取得します。
-
#秒です。 = ドキュメント
条件のセレクターのデータベース内の 2 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
-
# second_to_last=last=======================================================
条件のセレクターのデータベース内の最後から 2 番目のドキュメントを取得します。
-
秒_to_last. = ドキュメント
条件のセレクターのデータベース内の最後から 2 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
-
#skip (値)=メモリ
指定された数のドキュメントをスキップします。
-
#sort(values) ⇒ Memory
指定された 仕様でドキュメントをソートします。
-
#take(limit = nil) ⇒ Document
指定された数のドキュメントをデータベースから取得します。
-
#take! ⇒ Document
データベースから指定された数のドキュメントを取得します。見つからない場合はエラーが発生します。
-
# totaly (フィールド) = ハッシュ
メモリ内のフィールド値を合計します。
-
3 つ目の = ドキュメント
条件のセレクターのデータベース内の 3 番目のドキュメントを取得します。
-
3 つ目の# = ドキュメント
条件のセレクターのデータベース内の 3 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
-
# Third_to_last = timeドキュメント
条件のセレクターのデータベース内の最後から 3 番目のドキュメントを取得します。
-
# Third_to_last = ドキュメント
条件の セレクター のデータベース内の最後から 3 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
-
#update(attributes = nil) ⇒ nil | false
最初に一致するドキュメントを不可分的に更新します。
-
#update_all(attributes = nil) ⇒ nil | false
一致するすべてのドキュメントを不可分的に更新します。
位置から含まれるメソッド
クエリ可能な に含まれるメソッド
関連::EagerLoadableに含まれるメソッド
#EAger_load 、 # Dataer_loadable か。 、 #preload
Aggregable::Memoryに含まれるメソッド
、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、
コンストラクターの詳細
#初期化(条件) =メモリ
メモリ コンテキスト内に新しい を作成します。
173 174 175 176 177 178 179 180 181 182 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行173 デフォルト 初期化(条件) @criteria, @klass = 条件, 条件.klass @documents = 条件.ドキュメント.選択する 行う |doc| @root ||= doc._root @collection ||= ルート.コレクション doc._一致するか?(条件.セレクター) end apply_sorting end |
インスタンス属性の詳細
ドキュメント数 →オブジェクト(読み取り専用)
属性ドキュメントの値を返します。
25 26 27 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行25 デフォルト ドキュメント @documents end |
セレクターに一致するメモリ内のドキュメントを照合する数。 ( ) 詳しくは、オブジェクト(読み取り専用)
25 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行25 attr_reader :documents, :path, : root, : セレクター |
# path =オブジェクト(読み取り専用)
属性パスの値を返します。
25 26 27 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行25 デフォルト path @path end |
# path アトミック パス。 (アトミック パス。) 詳しくは、オブジェクト(読み取り専用)
25 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行25 attr_reader :documents, :path, : root, : セレクター |
#ルート=オブジェクト(読み取り専用)
属性ルートの値を返します。
25 26 27 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行25 デフォルト ルート @root end |
# root ルート ドキュメント。 (ルート ドキュメント) 詳しくは、オブジェクト(読み取り専用)
25 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行25 attr_reader :documents, :path, : root, : セレクター |
#セレクター=オブジェクト(読み取り専用)
属性セレクターの値を返します。
25 26 27 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行25 デフォルト セレクター @Selector end |
#セレクター ルート ドキュメント セレクター。 (ルート ドキュメント セレクター) =オブジェクト(読み取り専用)
25 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行25 attr_reader :documents, :path, : root, : セレクター |
インスタンス メソッドの詳細
# == (その他) ==(その他) ========= ================================================================== false
コンテキストが他のオブジェクトと等しいかどうかを確認します。
35 36 37 38 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行35 デフォルト ==(その他) return false ただし、 その他.respond_to?(:entries) エントリ == その他.エントリ end |
delete = nil別名: #delete_all
データベース内のセレクターに一致するすべてのドキュメントを削除します。
46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行46 デフォルト 削除 delete = count 削除 = map 行う |doc| preserve_remove(doc) doc.送信(:as_attributes) end ただし、 削除.空の場合 コレクション.find(セレクター).update_one( 位置的に(セレクター, " $pullAll " => { path => 削除 }), セッション: _session ) end delete end |
# delete = nil 別名 : delete_all
データベース内のセレクターに一致するすべてのドキュメントを破棄します。
68 69 70 71 72 73 74 75 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行68 デフォルト 破棄する delete = count 各 行う |doc| ドキュメント.delete_one(doc) doc.破棄する end delete end |
distinct<Object>
指定されたフィールドの db で個別の値を取得します。
86 87 88 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行86 デフォルト distinct(フィールド) プル型(フィールド).一意 end |
#各列挙型
コンテキストを反復処理します。 ブロックが提供された場合、 はそれぞれの Mongoid ドキュメントに降格し、それ以外の場合は列挙を返します。
99 100 101 102 103 104 105 106 107 108 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行99 デフォルト 各 場合 ブロック_指定 document_for_iteration.各 行う |doc| ノードの数(doc) end 自己 else to_enum end end |
が存在する場合(id_or_条件 = :none) = true | false
コンテキストにドキュメントが存在するかどうかを確認します。
126 127 128 129 130 131 132 133 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行126 デフォルト 存在するかどうか(id_or_条件 = :none) ケース id_or_条件 次の場合: :none 次に any? 次の場合: nil, false 次に false 次の場合: ハッシュ 次に メモリ.新着情報(条件.WHERE(id_or_条件)).存在するかどうか else メモリ.新着情報(条件.WHERE(_id: id_or_条件)).存在するかどうか end end |
5 分の 1 =ドキュメント
条件のセレクターのデータベース内の 5 番目のドキュメントを取得します。
454 455 456 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行454 デフォルト 50 Bearer_load([ドキュメント.50]).最初に end |
# 5 番目の。 =ドキュメント
条件のセレクターのデータベース内の 5 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
468 469 470 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行468 デフォルト 5 番目のドキュメント。 50 || resume_document_not_find_error end |
最初に#(制限=nil)=ドキュメントは別名: 1 、 find_first
条件のセレクターのデータベース内の最初のドキュメントを取得します。
143 144 145 146 147 148 149 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行143 デフォルト 最初に(limit = nil) 場合 limit Bearer_load(ドキュメント.最初に(limit)) else Bearer_load([ドキュメント.最初に]).最初に end end |
#first! ⇒ Document
条件のセレクターのデータベース内の最初のドキュメントを取得します。見つからない場合はエラーが発生します。
163 164 165 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行163 デフォルト 1 つ目。 最初に || resume_document_not_find_error end |
4 番目の =ドキュメント
条件のセレクターのデータベース内の 4 番目のドキュメントを取得します。
430 431 432 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行430 デフォルト 4 つ Bearer_load([ドキュメント.4 つ]).最初に end |
4 番目の。 =ドキュメント
条件のセレクターの データベース内の 4 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
444 445 446 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行444 デフォルト 4 つ目。 4 つ || resume_document_not_find_error end |
#inc(incs) ⇒ Enumerator
すべてのドキュメントの 値を増やします。
192 193 194 195 196 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行192 デフォルト 含む(incs) 各 行う |ドキュメント| ドキュメント.含む(incs) end end |
#last(limit = nil) ⇒ Document
条件のセレクターのデータベース内の最後のドキュメントを取得します。
206 207 208 209 210 211 212 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行206 デフォルト last(limit = nil) 場合 limit Bearer_load(ドキュメント.last(limit)) else Bearer_load([ドキュメント.last]).最初に end end |
#last! ⇒ Document
条件のセレクターのデータベース内の最後のドキュメントを取得します。見つからない場合はエラーが発生します。
224 225 226 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行224 デフォルト 最後に、次を追加します。 last || resume_document_not_find_error end |
長さ~整数別名:サイズ
コンテキスト内の一致するドキュメントの長さを取得します。
234 235 236 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行234 デフォルト Length ドキュメント.Length end |
#制限(値) ~メモリ
返されるドキュメントの数を制限します。
247 248 249 250 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行247 デフォルト limit(価値) 自己.制限する = 価値 自己 end |
# 選択 (* フィールド)= オブジェクト | Array[Object]<Object>
メモリ内のフィールド値を選択します。
274 275 276 277 278 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行274 デフォルト 選択(*フィールド) 場合 doc = ドキュメント.最初に plack_from_doc(doc, *フィールド) end end |
プル型 (* フィールド)= 配列= オブジェクト=================================配列未満<Object><Object>
メモリ内のフィールド値をプルします。
260 261 262 263 264 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行260 デフォルト プル型(*フィールド) ドキュメント.map 行う |doc| plack_from_doc(doc, *フィールド) end end |
秒= ドキュメント =ドキュメント
条件のセレクターのデータベース内の 2 番目のドキュメントを取得します。
382 383 384 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行382 デフォルト 秒 Bearer_load([ドキュメント.秒]).最初に end |
#秒です。 =ドキュメント
条件のセレクターのデータベース内の 2 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
396 397 398 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行396 デフォルト 秒です。 秒 || resume_document_not_find_error end |
# second_to_last=last =======================================================
条件のセレクターのデータベース内の最後から 2 番目のドキュメントを取得します。
478 479 480 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行478 デフォルト second_to_last Bearer_load([ドキュメント.second_to_last]).最初に end |
秒_to_last. =ドキュメント
条件のセレクターのデータベース内の最後から 2 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
492 493 494 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行492 デフォルト second_to_last. second_to_last || resume_document_not_find_error end |
#skip (値)=メモリ
指定された数のドキュメントをスキップします。
334 335 336 337 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行334 デフォルト スキップ(価値) 自己.スキップ = 価値 自己 end |
#sort(values) ⇒ Memory
指定された 仕様でドキュメントをソートします。
348 349 350 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行348 デフォルト sort(values) in_place_sort(values) および 自己 end |
#take(limit = nil) ⇒ Document
指定された数のドキュメントをデータベースから取得します。
304 305 306 307 308 309 310 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行304 デフォルト が(limit = nil) 場合 limit Bearer_load(ドキュメント.が(limit)) else Bearer_load([ドキュメント.最初に]).最初に end end |
#take! ⇒ Document
データベースから指定された数のドキュメントを取得します。見つからない場合はエラーが発生します。
322 323 324 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行322 デフォルト と一緒に使用されます が || resume_document_not_find_error end |
# totaly (フィールド) =ハッシュ
メモリ内のフィールド値を合計します。
288 289 290 291 292 293 294 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行288 デフォルト 点(フィールド) return ドキュメント.each_with_object({}) 行う |d, ac| v = retrieve_value_at_path(d, フィールド) ac[v] ||= 0 ac[v] += 1 end end |
3 つ目の =ドキュメント
条件のセレクターのデータベース内の 3 番目のドキュメントを取得します。
406 407 408 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行406 デフォルト 3 つ目の Bearer_load([ドキュメント.3 つ目の]).最初に end |
3 つ目の# =ドキュメント
条件のセレクターのデータベース内の 3 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
420 421 422 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行420 デフォルト 3 つ目。 3 つ目の || resume_document_not_find_error end |
# Third_to_last = timeドキュメント
条件のセレクターのデータベース内の最後から 3 番目のドキュメントを取得します。
502 503 504 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行502 デフォルト Third_to_last Bearer_load([ドキュメント.Third_to_last]).最初に end |
# Third_to_last =ドキュメント
条件の セレクター のデータベース内の最後から 3 番目のドキュメントを取得します。見つからない場合はエラーが発生します。
516 517 518 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行516 デフォルト Third_to_last. Third_to_last || resume_document_not_find_error end |
#update(attributes = nil) ⇒ nil | false
最初に一致するドキュメントを不可分的に更新します。
360 361 362 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行360 デフォルト update(属性 = nil) update_documents(属性, [ 最初に ]) end |
#update_all(attributes = nil) ⇒ nil | false
一致するすべてのドキュメントを不可分的に更新します。
372 373 374 |
# ファイル 'lib/mongoid/contextual/memory.rb' の行372 デフォルト update_all(属性 = nil) update_documents(属性, エントリ) end |