Mongodb: 문자열 길이를 찾는 방법


다음 방법을 사용하여 MongoDB에서 문자열 길이를 찾고 해당 문자열 길이를 쿼리에 사용할 수 있습니다.

방법 1: 체인의 길이 찾기

 db.myCollection.aggregate([
  { $project : {
        "name": 1,
        "length": { $strLenCP : " $name " }
  }}
])

방법 2: 문자열이 특정 길이보다 큰 문서 찾기

 db.myCollection.find({ 
    "name": { $exists : true },
    $expr : { $gt : [ { $strLenCP : " $name " }, 14 ] } 
})

다음 예는 다음 문서를 가지고 수집 과 함께 각 방법을 사용하는 방법을 보여줍니다.

 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})

예제 1: 문자열 길이 찾기

다음 코드를 사용하여 각 문서의 “이름” 필드에 있는 문자열 길이를 계산할 수 있습니다.

 db.teams.aggregate([
  { $project : {
        "name": 1,
        "length": { $strLenCP : " $name " }
  }}
])

이 코드는 다음 결과를 반환합니다.

 { _id: ObjectId("62014eff4cb04b772fd7a93d"),
  name: 'Dallas Mavs',
  length: 11 }
{ _id: ObjectId("62014eff4cb04b772fd7a93e"),
  name: 'San Antonio Spurs',
  length: 17 }
{ _id: ObjectId("62014eff4cb04b772fd7a93f"),
  name: 'Houston Rockets',
  length: 15 }
{ _id: ObjectId("62014eff4cb04b772fd7a940"),
  name: 'Boston Celtics',
  length: 14 }
{ _id: ObjectId("62014eff4cb04b772fd7a941"),
  name: 'Cleveland Cavs',
  length: 14 }

길이 값은 “이름” 열에 있는 문자열의 길이를 표시합니다.

예를 들어:

  • “Dallas Mavs” 체인의 길이는 11 입니다.
  • ‘샌안토니오 스퍼스’ 체인의 길이는 17 입니다.

등등.

길이에는 빈 공간도 포함됩니다.

예시 2: 문자열이 특정 길이보다 큰 문서 찾기

다음 코드를 사용하여 “name” 열의 문자열이 14 보다 큰 문서만 반환할 수 있습니다.

 db.teams.find({ 
    "name": { $exists : true },
    $expr : { $gt : [ { $strLenCP : " $name " }, 14 ] } 
})

이 쿼리는 다음 결과를 반환합니다.

 { _id: ObjectId("62014eff4cb04b772fd7a93e"),
  name: 'San Antonio Spurs',
  points: 22 }
{ _id: ObjectId("62014eff4cb04b772fd7a93f"),
  name: 'Houston Rockets',
  points: 19 }

반환된 팀은 “이름” 필드가 14 보다 큰 두 팀뿐입니다.

참고 : $strLenCP 함수에 대한 전체 문서는 여기에서 찾을 수 있습니다.

추가 리소스

다음 튜토리얼에서는 MongoDB에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

MongoDB: 문자열을 하위 문자열 배열로 분할하는 방법
MongoDB: 두 필드의 문자열을 연결하는 방법
MongoDB: 문자열을 바꾸는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다