Mongodb: 문자열을 하위 문자열 배열로 분할하는 방법
다음 구문을 사용하여 MongoDB에서 문자열을 하위 문자열 배열로 분할할 수 있습니다.
db.myCollection.aggregate([ { $project : { split_field: { $split : [ " $field1 ", " " ] } } }, { $merge : "myCollection" } ])
이 특정 예에서는 공백을 기준으로 문자열 “field1″을 “split_field”라는 새 필드로 분할하고 myCollection 이라는 컬렉션에 새 필드를 추가합니다.
다음 예에서는 다음 문서를 사용하여 컬렉션 팀 에서 실제로 이 구문을 사용하는 방법을 보여줍니다 .
db.teams.insertOne({name: " Dallas Mavs ", points: 31}) db.teams.insertOne({name: " San Antonio Spurs ", points: 22}) db.teams.insertOne({name: " Houston Rockets ", points: 19}) db.teams.insertOne({name: " Boston Celtics ", points: 26}) db.teams.insertOne({name: " Cleveland Cavs ", points: 33})
예: MongoDB에서 문자열을 하위 문자열 배열로 분할
다음 코드를 사용하여 “name” 열의 문자열을 문자열 배열로 분할하고 팀 컬렉션의 “split_name”이라는 새 필드에 결과를 표시할 수 있습니다.
db.teams.aggregate([ { $project : { split_name: { $split : [ " $name ", " " ] } } }, { $merge : "teams" } ])
이제 업데이트된 컬렉션은 다음과 같습니다.
{ _id: ObjectId("62014a924cb04b772fd7a938"), name: 'Dallas Mavs', points: 31, split_name: ['Dallas', 'Mavs'] } { _id: ObjectId("62014a924cb04b772fd7a939"), name: 'San Antonio Spurs', points: 22, split_name: ['San', 'Antonio', 'Spurs'] } { _id: ObjectId("62014a924cb04b772fd7a93a"), name: 'Houston Rockets', points: 19, split_name: ['Houston', 'Rockets'] } { _id: ObjectId("62014a924cb04b772fd7a93b"), name: 'Boston Celtics', points: 26, split_name: ['Boston', 'Celtics'] } { _id: ObjectId("62014a924cb04b772fd7a93c"), name: 'Cleveland Cavs', points: 33, split_name: ['Cleveland', 'Cavs'] }
각 문서에는 “name” 필드의 하위 문자열 배열을 포함하는 “split_name”이라는 새 필드가 있습니다.
이 특정 예에서는 공백을 구분 기호로 사용하여 원래 문자열을 분할하기로 선택했습니다.
문자열이 다른 구분 기호(예: 하이픈, 슬래시, 콜론 등)로 구분된 경우 $split 함수에서 해당 구분 기호를 사용하세요.
참고 : $split 함수에 대한 전체 문서는 여기에서 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 MongoDB에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
MongoDB: 필드에 문자열이 포함되어 있는지 확인하는 방법
MongoDB: 새 필드를 추가하는 방법
MongoDB: 필드를 삭제하는 방법