Mongoidのany_ofがorではなくandになる

any_ofでorの結果を取得したいのに、結果はandになってしまう、という場合

User.any_of(:created_at.gte => 1.week.ago, :name => /^j/)

上記のコードは、1つのハッシュをany_ofとして渡している。any_ofはハッシュを複数渡すのが正解なので、以下のコードが正しい。

User.any_of({:created_at.gte => 1.week.ago}, {:name => /^j/})

よくミスするのでメモ。

Pocket
LINEで送る
LinkedIn にシェア