Mongodb: $susbtr 함수를 사용하는 방법
MongoDB의 $substr 함수를 사용하여 문자열에서 하위 문자열을 추출할 수 있습니다.
이 함수는 다음 기본 구문을 사용합니다.
db.myCollection.aggregate([ { $project : {substring: { $substr : [ " $fullstring ", 0, 4 ] }}} ])
이 특정 예는 위치 0에서 시작하여 “fullString”이라는 필드에서 4개의 문자를 모두 추출합니다.
다음 예에서는 다음 문서를 사용하여 컬렉션 판매 에 실제로 이 구문을 사용하는 방법을 보여줍니다.
db.sales.insertOne({yearMonth: 201702, amount: 40 }) db.sales.insertOne({yearMonth: 201802, amount: 32 }) db.sales.insertOne({yearMonth: 201806, amount: 19 }) db.sales.insertOne({yearMonth: 201910, amount: 29 }) db.sales.insertOne({yearMonth: 201907, amount: 35 })
예: MongoDB에서 $susbtr 함수를 사용하는 방법
다음 코드를 사용하여 “yearMonth” 필드에서 처음 4자를 추출하고 “year”라는 새 필드에 표시할 수 있습니다.
db.sales.aggregate([ { $project : {year: { $substr : [ " $yearMonth ", 0, 4 ] }}} ])
이 코드는 다음과 같은 결과를 생성합니다.
{ _id: ObjectId("620145544cb04b772fd7a929"), year: '2017' } { _id: ObjectId("620145544cb04b772fd7a92a"), year: '2018' } { _id: ObjectId("620145544cb04b772fd7a92b"), year: '2018' } { _id: ObjectId("620145544cb04b772fd7a92c"), year: '2019' } { _id: ObjectId("620145544cb04b772fd7a92d"), year: '2019' }
각 문서의 “monthYear” 필드의 처음 4개 문자는 “연도”라는 새 필드에 표시됩니다.
이 코드는 하위 문자열만 표시한다는 점에 유의하는 것이 중요합니다.
실제로 이 하위 문자열을 포함하는 컬렉션에 새 필드를 추가하려면 다음과 같이 $merge 함수를 사용해야 합니다.
db.sales.aggregate([ { $project : {year: { $substr : [ " $yearMonth ", 0, 4 ] }}}, { $merge : "sales" } ])
이제 업데이트된 컬렉션은 다음과 같습니다.
{ _id: ObjectId("620145544cb04b772fd7a929"), yearMonth: 201702, amount: 40, year: '2017' } { _id: ObjectId("620145544cb04b772fd7a92a"), yearMonth: 201802, amount: 32, year: '2018' } { _id: ObjectId("620145544cb04b772fd7a92b"), yearMonth: 201806, amount: 19, year: '2018' } { _id: ObjectId("620145544cb04b772fd7a92c"), yearMonth: 201910, amount: 29, year: '2019' } { _id: ObjectId("620145544cb04b772fd7a92d"), yearMonth: 201907, amount: 35, year: '2019' }
컬렉션의 각 문서에 “year”라는 새 필드가 추가되었으며 “yearMonth” 필드의 처음 4자가 표시됩니다.
참고 : $substr 함수에 대한 전체 문서는 여기에서 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 MongoDB에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
MongoDB: 필드에 문자열이 포함되어 있는지 확인하는 방법
MongoDB: 두 필드의 문자열을 연결하는 방법
MongoDB: 문자열을 바꾸는 방법