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

MongoDB에서 기존 문서 존재 여부 확인하기 – findOne() 메서드 활용법

MongoDB에서 특정 문서가 이미 컬렉션에 존재하는지 확인하고 싶다면 findOne() 메서드를 사용하면 됩니다. 이 메서드는 조건에 일치하는 첫 번째 문서 하나만 반환하므로, 문서의 존재 여부를 빠르게 검사할 때 매우 유용합니다.

findOne() 기본 문법

db.yourCollectionName.findOne({yourFieldName: 'yourValue'});

예제용 컬렉션 생성

먼저 실습을 위해 문서가 포함된 컬렉션을 만들어 보겠습니다.

> db.checkExistingDemo.insertOne({"StudentName":"John"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cbdf90dac184d684e3fa265")
}
> db.checkExistingDemo.insertOne({"StudentName":"Carol"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cbdf912ac184d684e3fa266")
}
> db.checkExistingDemo.insertOne({"StudentName":"Sam"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cbdf916ac184d684e3fa267")
}
> db.checkExistingDemo.insertOne({"StudentName":"Mike"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cbdf91bac184d684e3fa268")
}

저장된 전체 문서 조회하기

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

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

위 명령을 실행하면 다음과 같은 결과가 출력됩니다.

{ "_id" : ObjectId("5cbdf90dac184d684e3fa265"), "StudentName" : "John" }
{ "_id" : ObjectId("5cbdf912ac184d684e3fa266"), "StudentName" : "Carol" }
{ "_id" : ObjectId("5cbdf916ac184d684e3fa267"), "StudentName" : "Sam" }
{ "_id" : ObjectId("5cbdf91bac184d684e3fa268"), "StudentName" : "Mike" }

기존 문서 존재 여부 확인하기

이제 findOne() 메서드를 사용해 특정 문서가 존재하는지 확인해 보겠습니다. 예를 들어 'Carol'이라는 이름의 학생 문서가 있는지 검색하는 쿼리는 다음과 같습니다.

> db.checkExistingDemo.findOne({StudentName: 'Carol'});

실행 결과는 아래와 같습니다.

{ "_id" : ObjectId("5cbdf912ac184d684e3fa266"), "StudentName" : "Carol" }

참고 사항

findOne()은 조건에 일치하는 문서가 여러 개 있더라도 가장 먼저 발견된 한 개의 문서만 반환한다는 점에 유의하세요. 일치하는 문서가 없으면 null을 반환하며, 이 값을 활용하면 애플리케이션 로직에서 문서의 존재 여부를 손쉽게 판단할 수 있습니다. 또한 중복 삽입 방지나 업데이트 전 데이터 검증 등의 용도로도 널리 활용됩니다.