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']
Результат показує три різні назви команд усіх документів.
Ми також можемо використати такий код, щоб знайти список різних значень у полі «position»:
db.teams.distinct( 'position' )
Цей запит повертає такий результат:
['Center', 'Forward', 'Guard']
Примітка : MongoDB сортує різні значення в алфавітному порядку за замовчуванням.
Приклад 2: знайти кількість унікальних значень
Ми можемо використовувати наступний код, щоб підрахувати кількість різних значень у полі «команда»:
db.teams.distinct( 'team' ).length
Цей запит повертає такий результат:
3
Це говорить нам про те, що в полі «команда» є 3 різні значення.
Ми також можемо використовувати наступний код, щоб підрахувати кількість унікальних значень у полі «points»:
db.teams.distinct( 'points' ).length
Цей запит повертає такий результат:
5
Це говорить нам про те, що в полі «балів» є 5 різних значень.
Примітка . Ви можете знайти повну документацію для окремої функції тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові операції в MongoDB:
MongoDB: як групувати та підраховувати
MongoDB: як групувати за кількома полями
MongoDB: як знайти максимальне значення в колекції