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

MongoDB에서 _id로 문서를 찾는 방법 완벽 정리

MongoDB에서 _id로 문서 찾기

MongoDB에서 특정 _id 값을 기준으로 문서를 조회하려면 find() 메서드를 사용하면 됩니다. 기본 문법은 다음과 같습니다.

db.findByIdDemo.find({ "_id": yourObjectId });

위 문법을 실제로 이해하기 위해 먼저 컬렉션을 생성하고 문서를 삽입해 보겠습니다.

1. 테스트 컬렉션 생성 및 데이터 삽입

insertOne() 메서드를 사용해 세 개의 문서를 순차적으로 삽입합니다.

> db.findByIdDemo.insertOne({"Value":10});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e07158925ddae1f53b621fc")
}
> db.findByIdDemo.insertOne({"Value":500});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e07158c25ddae1f53b621fd")
}
> db.findByIdDemo.insertOne({"Value":1000});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e07159125ddae1f53b621fe")
}

2. 컬렉션의 전체 문서 조회

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

> db.findByIdDemo.find();

실행 결과는 다음과 같습니다.

{ "_id" : ObjectId("5e07158925ddae1f53b621fc"), "Value" : 10 }
{ "_id" : ObjectId("5e07158c25ddae1f53b621fd"), "Value" : 500 }
{ "_id" : ObjectId("5e07159125ddae1f53b621fe"), "Value" : 1000 }

3. 특정 _id로 문서 조회하기

이제 특정 ObjectId를 쿼리 조건으로 지정하여 해당 문서만 조회해 보겠습니다.

> db.findByIdDemo.find({ "_id" : ObjectId("5e07158c25ddae1f53b621fd") });

실행 결과는 다음과 같습니다.

{ "_id" : ObjectId("5e07158c25ddae1f53b621fd"), "Value" : 500 }

주의 사항

ObjectId로 문서를 조회할 때는 반드시 ObjectId() 함수로 값을 감싸야 합니다. 문자열 그대로 전달하면 타입이 일치하지 않아 아무 문서도 반환되지 않습니다. 또한 조건에 맞는 문서 중 첫 번째 하나만 필요하다면 findOne() 메서드를 사용하는 것이 더 효율적입니다.