2012-05-14 67 views
2

我需要返回一個計數列表(所有記錄,所有符合特定條件的記錄)。我知道如何使用MySQL(SELECT COUNT(*) WHERE ...)來做到這一點,但我不熟悉如何使用Mongo和Mongoid來做到這一點。我怎樣才能以最有效的方式獲取這些計數?Mongoid:如何返回匹配特定條件的文檔數量?

回答

4

Mongoid documentation

Model.count

返回數據庫中的文檔數量。如果你想指定條件下使用where

# Get the count of documents. 
Person.count 
# Get the count of documents given the provided conditions. 
Person.where(title: "Sir").count 

MongoDB documentation

db.mycollection.count({active:true} 
+0

我一定在文檔中看過去。 = /另外,+1用於顯示原始的Mongo等價物。謝謝! – Andrew

0

使用MongoID您可以設定的標準在很多方面:http://mongoid.org/docs/querying/criteria.html

假設事情是包括Mongoid Ruby類: :文檔

作爲一個例子,你可以使用where函數,然後你可以得到文檔的數量通過調用'count'finder功能匹配。:

Thing.where(foo: "bar").count 
相關問題