u16suzuの blog

日々学んだことのメモブログです。

今日読んだもの

Expand arrays in queries https://github.com/mongodb/mongoid/pull/5601

mongoidに対してActiveRecordの挙動に依存するサードパーティgemが動くようにするため、ARの挙動と同じくする提案がなされている。 変更内容は以下のように、要素が1個の配列が与えられたとき、自動で1個の要素に展開されるようになるというもの。

# 9.x behavior
Person.where(name: ['Kate']).selector # { 'name' => 'Kate' }

# 8.x behavior
Person.where(name: ['Kate']).selector # { 'name' => [ 'Kate' ] }

例えば、array typeのフィールドに対してのクエリが影響を受けてしまう。これはBC。 この変換を無効にするフラグ expand_single_element_arrays_in_query も用意されてはいる。 この変更は device が期待通りに動かないことに対する修正のようで、あまり入れて欲しくはない変更である。 https://jira.mongodb.org/browse/MONGOID-5554

この提案はまだ Draft の段階。