2013-03-21 34 views
0

下面是從MongoDB中取出一個記錄的查詢:Rails + MongoDB:如何瞭解當前記錄的位置?

Article.where({'_id' => { "$gt" => params[:id]}}).sort({:_id => 1}).first 

讓我們在收集要說的是10條,這是8日最新。我怎麼能發現這個記錄是從集合中的10條記錄的位置8開始的?

回答

1

你不能做這樣的事情在蒙戈:ID是隨機生成的哈希值,並不能保證是連續的如關係數據庫ID。

我反而由created_at排序,因爲這是保證是連續的,只要場上存在。考慮這樣的事情:

article = Article.find(params[:id]) 
next = Article.where({"created_at" => {"$gt" => article.created_at}}).desc(:created_at).first