Mongoid: как вернуть количество документов, соответствующих определенным критериям?


Мне нужно вернуть список подсчетов (все записи, все записи, соответствующие определенным критериям). Я знаю, как это сделать с помощью MySQL (SELECT COUNT(*) WHERE ...), но я не знаком с тем, как это сделать с помощью Mongo и Mongoid. Как я могу получить эти графы наиболее эффективным способом?

2 2

2 ответа:

Из монголоидных документов :

Модель.граф

Возвращает количество документов в базе данных. Если вы хотите задать условия, используйте where

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

Из документации MongoDB:

db.mycollection.count( {active:true} 

Используя MongoID, вы можете задать критерии многими способами: http://mongoid.org/docs/querying/criteria.html

Предположим, что Thing-Это класс Ruby, включающий Mongoid:: Document

В качестве примера можно использовать функцию where,а затем получить число совпадающих документов, вызвав функцию поиска "count".:

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