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: 문자열을 바꾸는 방법