我需要返回一个计数列表(所有记录,所有记录都符合某个标准)。我知道如何使用MySQL(SELECT COUNT(*) WHERE ...
)来做这件事,但我不熟悉如何使用Mongo和Mongoid来做到这一点。如何以最有效的方式获取这些计数?
答案 0 :(得分:6)
<强> Model.count 强>
返回数据库中的文档数。如果要指定条件,请使用where
# Get the count of documents.
Person.count
# Get the count of documents given the provided conditions.
Person.where(title: "Sir").count
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