2012-01-31 129 views
0

我在導軌控制檯上有些迷惑。 我試圖連接到我的數據庫以探索它的工作方式。導軌控制檯(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

你會得到一個類似遊標的「標準」。標準被懶惰地評估,所以你可以把它們連在一起。試試Day.where(name: "monday").first。更具體地說,

「Mongoid中的所有查詢都是Criteria,它是對MongoDB動態查詢的可鏈接和延遲評估封裝。Criteria僅在需要時觸及數據庫,例如在迭代結果時以及執行時包裝遊標以保持內存管理和性能可預測。「 link

+0

好吧,我明白了,但問題很快。我有4天註冊在這個分貝。可以以某種方式獲得第二,第三等...以與可以先使用或最後使用相同的方式。 – 2012-01-31 08:48:52

+1

我認爲Mongoid條件有'Array'複製的接口的一個重要的子集 - 包括[]運算符。所以如果你知道你的結果會在什麼順序中 - 我相信這是默認情況下由他們的「ID」命令 - 你可以做Day.all [0],Day.all [1]等等... – Matt 2012-01-31 21:00:34