2011-07-07 17 views
17

通常のActiveRecord/SQLの設定で、コンソールで*.where*.allなどのコマンドを実行すると、レコード項目の実際の配列が返されます。しかし、モンゴイドに切り替えた後、代わりに基準を取り戻す。実際の結果をどのように入手するのですか?これは私が今得るものですMongoidを使用した実際の配列の取得

...

ruby-1.9.2-p180 :001 > App.all 
=> #<Mongoid::Criteria 
    selector: {}, 
    options: {}, 
    class: App, 
    embedded: false> 

答えて

25

あなたはMongoidでモデルを照会し、それは(あなたが述べてきたように)基準オブジェクトを返し、それが実際にまでクエリを実行しません。あなたは基準からデータを要求します。

あなたがする必要があるのは、このように、eachまたはmapや配列のいずれかの方法を使用して、結果を反復処理されています。あなただけの配列をしたい場合は、あなただけのto_aを呼び出すことができ、また

App.all.each do |app| 
    puts app.name 
end 

App.all.to_a 
17

App.all.entriesも同様です。

+0

動作しますが、 'エントリ'メソッドはrdocに表示されません。 –

関連する問題