5

私はこのようなモデルを持っています

class User
  include Mongoid::Document
  field :c, as: :categories, type: Array
end

そして私はこのようにそれに情報を保存しています:

a = UserCheckin.new
a.c = [{id: rand(1000), name: 'a'}, {id: rand(1000), name: 'b'}, {id: rand(1000), name: 'c'}]
a.save

ハッシュを格納して配列型を誤用しているかどうかはわかりませんが、mongodbはそれについて文句を言いません。

カテゴリ名が「a」であるか、カテゴリIDが2より大きいユーザーのようなものをクエリするにはどうすればよいですか?

前もって感謝します、

4

1 に答える 1

12

私は答えを見つけたようです...残っている人のために、ここに投稿します。

User.where(c: {'$elemMatch' => {name: 'a'}})

カテゴリ配列に「a」という名前の要素が 1 つ以上含まれているすべてのユーザーが返されます。

于 2013-03-15T11:39:04.357 に答える