Computer >> 컴퓨터 >  >> 프로그래밍 >> MongoDB

MongoDB에서 하위 필드 검색하는 방법: 점 표기법 활용 가이드

MongoDB에서 내장 문서(embedded document)의 하위 필드를 검색하려면 큰따옴표(" ")로 감싼 점 표기법(dot notation)을 사용하면 됩니다. 이번 글에서는 실제 예제를 통해 하위 필드를 검색하는 과정을 단계별로 살펴보겠습니다.

1. 샘플 컬렉션 생성하기

먼저 insertOne() 메서드를 사용하여 문서가 담긴 컬렉션을 생성합니다. UserDetails라는 내장 문서 안에 사용자 이메일 주소와 나이 정보를 함께 저장해 보겠습니다.

> db.searchSubFieldDemo.insertOne(
...    {
...       "UserDetails":
...       {"UserEmailId":"John123@gmail.com","UserAge":21}
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3d909edc6604c74817ce2")
}
> db.searchSubFieldDemo.insertOne( { "UserDetails": {"UserEmailId":"Carol@yahoo.com","UserAge":26} } );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3d9a4edc6604c74817ce3")
}

2. 저장된 전체 문서 확인하기

find() 메서드에 pretty()를 함께 사용하면 컬렉션의 모든 문서를 보기 좋게 정렬하여 출력할 수 있습니다.

> db.searchSubFieldDemo.find().pretty();

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

{
   "_id" : ObjectId("5cd3d909edc6604c74817ce2"),
   "UserDetails" : {
      "UserEmailId" : "John123@gmail.com",
      "UserAge" : 21
   }
}
{
   "_id" : ObjectId("5cd3d9a4edc6604c74817ce3"),
   "UserDetails" : {
      "UserEmailId" : "Carol@yahoo.com",
      "UserAge" : 26
   }
}

3. 하위 필드 검색 쿼리 작성하기

이제 본격적으로 하위 필드를 검색해 보겠습니다. 핵심은 상위 필드 이름과 하위 필드 이름을 점(.)으로 연결한 뒤 전체를 큰따옴표로 감싸는 것입니다.

> db.searchSubFieldDemo.find({"UserDetails.UserEmailId":"Carol@yahoo.com"});

쿼리를 실행하면 UserEmailId가 Carol@yahoo.com인 문서 하나만 정확히 조회됩니다.

{ "_id" : ObjectId("5cd3d9a4edc6604c74817ce3"), "UserDetails" : { "UserEmailId" : "Carol@yahoo.com", "UserAge" : 26 } }

마무리 정리

MongoDB에서 내장 문서의 특정 하위 필드를 검색할 때는 "상위필드.하위필드" 형태의 점 표기법을 큰따옴표와 함께 사용하는 것이 핵심입니다. 이 방식은 배열 요소나 더 깊은 중첩 구조에도 동일하게 적용할 수 있어, 복잡한 문서 구조 속에서도 원하는 데이터를 간단하고 확실하게 찾아낼 수 있습니다.