Mongodb получить количество результатов - PullRequest
1 голос
/ 04 мая 2020

У меня возникли проблемы с поиском, как получить количество документов в моем результате запроса. Все, что я могу сейчас сделать, это

long count = collection.countDocuments();

Результат от этого всегда один и тот же.

Моя следующая команда - это нумерация страниц

FindIterable<Document> iterDoc = collection.find(query).skip(skip).limit(size);

Но я хочу узнать количество результатов из

collection.find(query)

Но для документа FindIterable нет countDocuments() функция. Дело в том, что я хочу знать несколько страниц для моей нумерации страниц. Есть ли какая-нибудь функция MongoDB для подсчета результатов?

Спасибо и извините за мой английский sh.

1 Ответ

1 голос
/ 04 мая 2020

Вы можете написать что-то вроде этого

public long getFieldCountInCollection(String field, Object value) {
            BasicDBObject query = new BasicDBObject();
            query.put(field, value);
            return mongoCollection.count(query);
}

Обратите внимание, что поле параметра обозначает имя ключа, которое имеется в вашей коллекции, а значение обозначает ожидаемое значение, присутствующее в коллекции. Если нет такой записи, удовлетворяющей условию, вы получите 0 в результате этого вызова функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...