MongoDB: как подсчитать различные значения в поле


Вы можете использовать следующие методы для подсчета различных значений в определенном поле в MongoDB:

Метод 1: найти список различных значений

db.collection.distinct( 'field_name' )

Метод 2: найти количество различных значений

db.collection.distinct( 'field_name' ).length

В следующих примерах показано, как использовать каждый метод с набором команд со следующими документами:

db.teams.insertOne({team: " Mavs", position: " Guard", points: 31 })
db.teams.insertOne({team: " Mavs", position: " Guard", points: 22 })
db.teams.insertOne({team: " Rockets", position: " Center", points: 19 })
db.teams.insertOne({team: " Rockets", position: " Forward", points: 26 })
db.teams.insertOne({team: " Cavs", position: " Guard", points: 33 })

Пример 1: поиск списка различных значений

Мы можем использовать следующий код, чтобы найти список различных значений в поле «команда»:

db.teams.distinct( 'team' )

Этот запрос возвращает следующий результат:

[ 'Cavs', 'Mavs', 'Rockets' ]

В выходных данных показаны три различных названия команд из всех документов.

Мы также можем использовать следующий код, чтобы найти список различных значений в поле «позиция»:

db.teams.distinct( 'position' )

Этот запрос возвращает следующий результат:

[ 'Center', 'Forward', 'Guard' ]

Примечание.По умолчанию MongoDB сортирует отдельные значения в алфавитном порядке.

Пример 2: найти количество уникальных значений

Мы можем использовать следующий код для подсчета количества различных значений в поле «команда»:

db.teams.distinct( 'team' ).length

Этот запрос возвращает следующий результат:

3

Это говорит нам о том, что в поле «команда» есть 3 различных значения.

Мы также можем использовать следующий код для подсчета количества уникальных значений в поле «баллы»:

db.teams.distinct( 'points' ).length

Этот запрос возвращает следующий результат:

5

Это говорит нам о том, что в поле «точки» есть 5 различных значений.

Примечание.Полную документацию по отдельной функции можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в MongoDB:

MongoDB: как группировать и считать
MongoDB: как сгруппировать по нескольким полям
MongoDB: как найти максимальное значение в коллекции