2012-01-31 7 views
0

これは、レールコンソールとちょっと混乱しています。 私は自分のデータベースに接続して、それが動作する方法を探そうとしています。rails console(pry)とmongodb

私が接続して行う基本的な事柄を

#get Day database 

Day.first 
Day.last 
Day.find('4f272afce096a47ccd000002') 

のようにしかし、私はそれらのようなクエリをしようとするとき、それはすべての罰金です:

http://mongoid.org/docs/querying/criteria.html

これは私が得るものです:

Day.where(name: "monday") 
=> #<Mongoid::Criteria 
    selector: {:name=>"monday"}, 
    options: {}, 
    class: Day, 
    embedded: false> 

それは私が幸運であるときです

答えて

1

カーソルのような「基準」が戻ってきています。 Criteriaは遅延評価されているため、操作を連鎖させることができます。試してくださいDay.where(name: "monday").first。より具体的には、

"Mongoidのすべてのクエリは、MongoDBの動的クエリに対する連鎖可能で遅延評価されたラッパーであるCriteriaです。Criteriaは、結果の繰り返しや実行時などにデータベースにアクセスするだけですメモリ管理とパフォーマンスを予測可能に保つためにカーソルをラップします。 link

+0

大丈夫、私はアイデアを得るが、簡単な質問です。私はこのデータベースに4日間登録しています。何らかの形で第2、第3などを最初から最後まで使うことができるのと同じ方法で得ることができます。 –

+1

モンゴイドの基準には、[]演算子を含む 'Array'のインタフェースの実質的なサブセットがあると思います。だから、結果がどのような順序になっているのか知っていれば - デフォルトでは 'id'によって順序付けられていると信じています - あなたはDay.all [0]、Day.all [1]などを行うことができます – Matt

関連する問題