モジュール: Mongoid::positional
- 次のドキュメントに含まれます。
- 関連付け::埋め込み::バッチ可能、コンテキスト::メモリ、永続的
- 定義:
- lib/mongoid/positional.rb
Overview
このモジュールは、更新セレクターを取得し、必要に応じて $ 位置演算子のインデックスを切り替えます。
インスタンス メソッドの概要を折りたたむ
-
位置的に#がある(セレクター、操作、処理された={{}) = ハッシュ
指定された セレクター と アトミック 操作を受け取り、必要に応じて埋め込みドキュメントのインデックスを位置演算子に置き換えます。
インスタンス メソッドの詳細
位置的に#がある(セレクター、操作、処理された={{}) =ハッシュ
注:
位置演算子をいつ使用するべきかを正確に把握できるのは、データを永続化するときだけです。したがって、位置演算子を実際に使用できるかどうかは、送信している セレクター によって判断できます。例、セレクターが { "_id" => 1 } の場合、一致するものが ない ため、埋め込みドキュメントを更新するための位置演算子 は使用できませんでした。 がのあるレベルの場合には、セレクターは深度があり、ID 値が nil 以外の場合は になります。
指定された セレクター と アトミック 操作を受け取り、必要に応じて埋め込みドキュメントのインデックスを位置演算子に置き換えます。
31 32 33 34 35 36 37 |
# ファイル 'lib/mongoid/positional.rb' 行31 デフォルト 位置的に(セレクター, 操作, 処理済み = {}) return 操作 場合 セレクター.サイズ == 1 || セレクター.values.any? { |価値| 価値.nil? } キー = セレクター.キー.map { |m| m.サブ('._id', '') } - [ '_id' ] キー = キー.sort_by { |s| s.Length * -1 } process_operations(キー, 操作, 処理済み) end |