MongoDB에서 문자열 길이를 사용한 쿼리
경우에 따라 문자열 길이와 같은 예외적인 속성을 사용하여 특정 문서를 찾아야 합니다. 이 기사에서는 MongoDB에서 문자열 길이를 사용하여 특정 문서를 찾는 방법과 이해하기 쉽게 주제에 대한 예제를 볼 것입니다.
문자열 길이를 기반으로 컬렉션에서 특정 문서 찾기
컬렉션에서 특정 문서를 찾기 위해 find()
라는 MongoDB의 매우 일반적인 내장 메서드를 사용합니다. 그러나 문자열 길이를 기반으로 문서를 찾으려는 경우 몇 가지 예외적인 기준을 제공해야 합니다.
다음 예제에서는 문자열 길이를 기반으로 특정 문서를 찾는 두 가지 방법을 볼 것입니다.
아래 예에서는 문자열 길이를 기준으로 문서를 찾는 방법을 살펴보겠습니다.
그러나 먼저 컬렉션에서 사용할 수 있는 문서를 확인하겠습니다. 이를 위해 아래 명령을 사용합니다.
db.mydata.find()
위의 명령은 mydata
컬렉션의 모든 문서를 표시합니다.
{ _id: ObjectId("63713371117701ff3d627b56"),
Name: 'Alen',
Email: 'abc@gmail.com',
Year: 2018 }
{ _id: ObjectId("63713371117701ff3d627b57"),
Name: 'Max',
Email: 'max@gmail.com',
Year: 2017 }
{ _id: ObjectId("63713371117701ff3d627b58"),
Name: 'Ethen',
Email: 'ethen@gmail.com',
Year: 2019 }
{ _id: ObjectId("63713371117701ff3d627b59"),
Name: 'Alex',
Email: 'alex@gmail.com',
Year: 2020 }
위는 우리 컬렉션에서 사용할 수 있는 문서입니다. 다음 단계로 갑시다.
이제 문자열 길이를 기준으로 문서를 찾는 데 사용할 수 있는 방법을 살펴보겠습니다. 이를 위해 이름
필드의 길이를 사용합니다.
$where
키워드 사용
이를 위해 $where
키워드를 사용할 수 있습니다. 명령은 다음과 같습니다.
db.mydata.find({ $where: 'this.Name.length > 4' })
집계 사용
집계를 사용하려면 아래 명령을 따를 수 있습니다.
db.mydata.find({
Name: { $exists: true },
$expr: { $gt: [{ $strLenCP: '$Name' }, 4] } })
위 명령에서 $gt
키워드는 보다 큼을 의미합니다. 이제 MongoDB 콘솔에서 두 명령을 모두 실행하면 다음과 같은 동일한 출력이 표시됩니다.
{ _id: ObjectId("63713371117701ff3d627b58"),
Name: 'Ethen',
Email: 'ethen@gmail.com',
Year: 2019 }
이 문서에 표시된 명령은 MongoDB 데이터베이스용이며 명령은 MongoDB 콘솔에서 실행해야 합니다.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn