4

Rails 3 の MongoDB データベースに「Stat」というテーブルがあります。

そのテーブルには、 "services" という配列フィールドがあります。

値 "lights" を含む services 配列を持つすべての Stats を検索したいと考えています。

私はこのようなことをしたい:

@stats = Stat.all
@stats1 =  @stats.where("services contains lights")
Rails.logger.info "result:  #{@stats1.count}  " 

私はさまざまなことを試し、広範囲にグーグルで検索しましたが、いくつかのリードが見つかりましたが、うまくいくとは思えません. このクエリに一致する必要がある 4 つのレコードがありますが、上記はゼロ セットを返します。

私がやりたいことは Rails 3/mongo で可能ですか?

4

2 に答える 2

1

わかりました、この質問に対する答えを見つけました:

@stats =  @stats.where(:services.in =>['lights'] )

また、逆は次のようになっていることもわかりました。

@stats =  @stats.where(:services.nin =>['lights'] )

ninそれ以外のin

于 2012-10-11T20:14:13.003 に答える