MongoDB에서 특정 값 이상의 문서 찾기
MongoDB에서 특정 값보다 크거나 같은 값을 가진 문서를 조회하려면 $gte(greater than or equal) 비교 연산자를 사용합니다. 이 연산자는 지정한 필드의 값이 주어진 값 이상인 문서만 반환합니다.
기본 문법
db.yourCollectionName.find({yourFieldName:{$gte:yourValue}});예제 컬렉션 생성하기
먼저 실습에 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다.
> db.demo571.insertOne({"Price":140});{
"acknowledged" : true, "insertedId" : ObjectId("5e909b3439cfeaaf0b97b587")
}
> db.demo571.insertOne({"Price":100});{
"acknowledged" : true, "insertedId" : ObjectId("5e909b3639cfeaaf0b97b588")
}
> db.demo571.insertOne({"Price":110});{
"acknowledged" : true, "insertedId" : ObjectId("5e909b3839cfeaaf0b97b589")
}
> db.demo571.insertOne({"Price":240});{
"acknowledged" : true, "insertedId" : ObjectId("5e909b3c39cfeaaf0b97b58a")
}위 코드는 Price 필드를 가진 4개의 문서를 demo571 컬렉션에 순차적으로 삽입합니다.
전체 문서 확인하기
find() 메서드를 사용하면 컬렉션의 모든 문서를 확인할 수 있습니다.
> db.demo571.find();
실행 결과는 다음과 같습니다.
{ "_id" : ObjectId("5e909b3439cfeaaf0b97b587"), "Price" : 140 }
{ "_id" : ObjectId("5e909b3639cfeaaf0b97b588"), "Price" : 100 }
{ "_id" : ObjectId("5e909b3839cfeaaf0b97b589"), "Price" : 110 }
{ "_id" : ObjectId("5e909b3c39cfeaaf0b97b58a"), "Price" : 240 }$gte 연산자로 특정 값 이상 조회하기
이제 Price 값이 140 이상인 문서만 조회하는 쿼리를 실행해 보겠습니다.
> db.demo571.find({Price:{$gte:140}});실행 결과는 다음과 같습니다.
{ "_id" : ObjectId("5e909b3439cfeaaf0b97b587"), "Price" : 140 }
{ "_id" : ObjectId("5e909b3c39cfeaaf0b97b58a"), "Price" : 240 }결과 분석
쿼리 결과에서 알 수 있듯이, Price가 140인 문서와 240인 문서 두 개만 반환되었습니다. Price가 100과 110인 문서는 조건을 충족하지 못해 제외된 것입니다.
참고로 $gte는 '크거나 같음(greater than or equal)' 조건이므로 기준값인 140도 결과에 포함됩니다. 만약 기준값을 제외하고 초과하는 값만 조회하고 싶다면 $gt(greater than) 연산자를 사용하면 됩니다.