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

$or 조건으로 MongoDB 쿼리에서 여러 문서 가져오기

$or 조건으로 MongoDB 쿼리에서 여러 문서 가져오기

MongoDB에서는 $or 연산자를 사용하면 지정한 여러 조건 중 하나라도 일치하는 문서를 한 번의 쿼리로 조회할 수 있습니다. 이번 글에서는 실제 예제를 통해 $or 조건으로 여러 문서를 가져오는 방법을 단계별로 알아보겠습니다.

1단계: 컬렉션 생성 및 문서 삽입

먼저 insertOne() 메서드를 사용해 문서가 포함된 컬렉션을 생성합니다.

> db.demo362.insertOne({"ClientName":"John","ClientProject":"School Management System"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e56a77454a481fef8ec7a1c")
}
> db.demo362.insertOne({"ClientName":"David","ClientProject":"Library Management System"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e56a78454a481fef8ec7a1d")
}
> db.demo362.insertOne({"ClientName":"Mike","ClientProject":"Event Tracker"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e56a7a054a481fef8ec7a1e")
}
> db.demo362.insertOne({"ClientName":"Carol","ClientProject":"Hospital Management System"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e56a7b754a481fef8ec7a1f")
}

2단계: 전체 문서 확인

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

> db.demo362.find();

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

{ "_id" : ObjectId("5e56a77454a481fef8ec7a1c"), "ClientName" : "John", "ClientProject" : "School Management System" }
{ "_id" : ObjectId("5e56a78454a481fef8ec7a1d"), "ClientName" : "David", "ClientProject" : "Library Management System" }
{ "_id" : ObjectId("5e56a7a054a481fef8ec7a1e"), "ClientName" : "Mike", "ClientProject" : "Event Tracker" }
{ "_id" : ObjectId("5e56a7b754a481fef8ec7a1f"), "ClientName" : "Carol", "ClientProject" : "Hospital Management System" }

3단계: $or 조건으로 여러 문서 조회

이제 $or 연산자를 사용해 ClientName이 "John"이거나 ClientProject가 "Event Tracker"인 문서만 조회해 보겠습니다.

> db.demo362.find({$or: [{"ClientName":"John"}, {"ClientProject": "Event Tracker" }]});

실행 결과, 두 조건 중 하나라도 만족하는 문서만 반환됩니다.

{ "_id" : ObjectId("5e56a77454a481fef8ec7a1c"), "ClientName" : "John", "ClientProject" : "School Management System" }
{ "_id" : ObjectId("5e56a7a054a481fef8ec7a1e"), "ClientName" : "Mike", "ClientProject" : "Event Tracker" }

정리

$or 연산자는 배열 형태로 여러 조건을 받아, 그중 하나라도 참인 문서를 결과로 반환합니다. 위 예제에서는 이름이 John인 문서와 프로젝트명이 Event Tracker인 문서가 함께 조회된 것을 확인할 수 있습니다. 이처럼 $or를 활용하면 복잡한 검색 조건도 간결하고 효율적으로 처리할 수 있습니다.