Mongoid:如何返回符合特定条件的文件数量?

时间:2012-05-14 20:05:56

标签: mongodb mongoid

我需要返回一个计数列表(所有记录,所有记录都符合某个标准)。我知道如何使用MySQL(SELECT COUNT(*) WHERE ...)来做这件事,但我不熟悉如何使用Mongo和Mongoid来做到这一点。如何以最有效的方式获取这些计数?

2 个答案:

答案 0 :(得分:6)

来自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} 

答案 1 :(得分:1)

使用MongoID,您可以通过多种方式设置标准:http://mongoid.org/docs/querying/criteria.html

假设Thing是一个Ruby类,包括Mongoid :: Document

作为一个例子,您可以使用where函数,然后通过调用'count'查找函数来获取匹配的文档数。:

Thing.where(foo: "bar").count