반응형
MongoDB: 하위 문서 필드 값의 개별 목록을 가져오는 방법은 무엇입니까?
다음과 같은 문서를 수집하고 있다고 가정해 보겠습니다.
{
"family": "Smith",
"children": [
{
"child_name": "John"
},
{
"child_name": "Anna"
},
]
}
{
"family": "Williams",
"children": [
{
"child_name": "Anna"
},
{
"child_name": "Kevin"
},
]
}
이제 모든 가족에 걸쳐 다음과 같은 고유한 자식 이름 목록을 얻고 싶습니다.
[ "John", "Anna", "Kevin" ]
결과의 구조가 다를 수 있습니다.MongoDB에서 어떻게 그것을 달성합니까?간단한 것이어야 하는데 이해할 수가 없습니다.컬렉션에서 aggregate() 함수를 사용해 보았지만 구별되는() 함수를 적용하는 방법을 모르겠습니다.
다음을 수행할 수 있습니다.
db.collection.distinct("children.child_name");
이 경우 다음을 반환됩니다.
[ "John", "Anna", "Kevin" ]
도움말 집계 프레임워크 사용:
db.collection.aggregate([{$unwind:'$children'}, {$group:{_id:'$children.child_name'}}])
또는 더 많은 관심 ;) 이름의 빈도:
db.collection.aggregate([{$unwind:'$children'}, {$group:{_id:'$children.child_name', freq:{$sum:1}}}])
언급URL : https://stackoverflow.com/questions/16155266/mongodb-how-to-get-distinct-list-of-sub-document-field-values
반응형
'programing' 카테고리의 다른 글
Gitrebase, '로컬' 및 '원격' 추적 (0) | 2023.06.20 |
---|---|
Oracle과 SQL Server의 NVARCHAR의 차이점은 무엇입니까? (0) | 2023.06.20 |
Manjaro에 MongoDB 설치 (0) | 2023.06.20 |
Postgres dump of only parts of tables for a dev snapshot (0) | 2023.06.20 |
Spring Cloud Config의 속성 로드 우선 순위는 무엇입니까? (0) | 2023.06.20 |