MongoDB / Mongoidを使用すると、これを実行できます。あなたの例はうまくいきます、構文はちょうど間違っています。
@stocks = Stock.Where(:prices.value.lt => p) #does not work
@stocks = Stock.where('prices.value' => {'$lt' => p}) #this should work
また、チェーン可能であるため、名前で注文することもできます:
@stocks = Stock.where('prices.value' => {'$lt' => p}).asc(:name)
お役に立てれば。