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

MongoDB에서 문서의 필드에 접근하는 방법 완벽 가이드

MongoDB 문서 필드 접근하기

MongoDB에서 문서(document) 내부의 필드에 접근하는 방법은 매우 간단합니다. 기본적으로 find() 메서드를 활용하면 되는데, 이번 글에서는 실제 예제를 통해 단계별로 살펴보겠습니다.

먼저 샘플 문서들을 포함한 컬렉션을 생성해 보겠습니다.

> db.demo565.insertOne(
... {
...    id:101,
...    Name:"David",
...    "CountryName":"US"
... }
... );
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5e90896739cfeaaf0b97b577")
}
>
> db.demo565.insertOne(
... {
...    id:102,
...    Name:"Carol",
...    "CountryName":"UK"
... }
... );
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5e90896839cfeaaf0b97b578")
}
>
> db.demo565.insertOne(
... {
...    id:103,
...    Name:"Sam",
...    "CountryName":"AUS"
... }
... );
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5e90896839cfeaaf0b97b579")
}

위 명령은 demo565라는 컬렉션에 세 개의 문서를 삽입합니다. 각 문서는 id, Name, CountryName이라는 세 개의 필드를 가지고 있습니다.

컬렉션의 모든 문서 조회하기

find() 메서드를 사용하면 컬렉션에 저장된 모든 문서를 확인할 수 있습니다.

> db.demo565.find();

이 쿼리는 다음과 같은 결과를 출력합니다.

{ "_id" : ObjectId("5e90896739cfeaaf0b97b577"), "id" : 101, "Name" : "David", "CountryName" : "US" }
{ "_id" : ObjectId("5e90896839cfeaaf0b97b578"), "id" : 102, "Name" : "Carol", "CountryName" : "UK" }
{ "_id" : ObjectId("5e90896839cfeaaf0b97b579"), "id" : 103, "Name" : "Sam", "CountryName" : "AUS" }

특정 조건으로 필드에 접근하기

특정 문서의 필드에만 접근하고 싶다면, 첫 번째 인자에 조건(query filter)을, 두 번째 인자에 프로젝션(projection)을 지정하면 됩니다. 프로젝션에서 필드명 뒤에 1을 붙이면 해당 필드만 결과에 포함됩니다.

> db.demo565.find({"Name":"Carol",CountryName:"UK"},{Name:1});

위 쿼리는 이름이 "Carol"이고 국가가 "UK"인 문서를 찾은 후, 그중 Name 필드만 반환합니다. 실행 결과는 다음과 같습니다.

{ "_id" : ObjectId("5e90896839cfeaaf0b97b578"), "Name" : "Carol" }

정리

MongoDB에서 문서의 필드에 접근하는 핵심은 find() 메서드입니다. 첫 번째 인자로 검색 조건을 지정하고, 두 번째 인자로 프로젝션을 사용하면 원하는 필드만 효율적으로 추출할 수 있습니다. 참고로 _id 필드는 별도로 제외하지 않는 한 항상 결과에 포함되며, 만약 제외하고 싶다면 프로젝션에 _id:0을 추가하면 됩니다.