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