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: 컬렉션에서 최대값을 찾는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다