Mongodb: "like" 정규식을 사용하여 쿼리하는 방법


다음 방법을 사용하여 “like” 정규식으로 MongoDB를 쿼리할 수 있습니다.

방법 1: 문자열이 포함된 문서 찾기

 db.collection.find({ name : { $regex : /string/i }})

i는 대소문자를 구분하지 않음을 나타냅니다.

방법 2: 문자열로 시작하는 문서 찾기

 db.collection.find({ name : { $regex : /^string/i }}) 

방법 3: 문자열로 끝나는 문서 찾기

 db.collection.find({ name : { $regex : /string$/i }}) 

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

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })

예시 1: 문자열이 포함된 문서 검색

다음 코드를 사용하여 팀 필드에 “avs” 문자열이 포함된 모든 문서를 검색할 수 있습니다.

 db.teams.find({ team : { $regex : /avs/i }})

이 쿼리는 다음 두 문서를 반환합니다.

 { _id: ObjectId("618050098ffcfe76d07b1da5"),
  team: 'Mavs',
  position: 'Guard',
  points: 31 }

{ _id: ObjectId("618285361a42e92ac9ccd2c6"),
  team: 'Cavs',
  position: 'Guard',
  points: 33 }

예시 2: 문자열로 시작하는 문서 찾기

다음 코드를 사용하여 위치 필드에 “gua” 문자열로 시작하는 모든 문서를 검색할 수 있습니다.

 db.teams.find({ position : { $regex : /^gua/i }})

이 쿼리는 다음 세 가지 문서를 반환합니다.

 { _id: ObjectId("618050098ffcfe76d07b1da5"),
  team: 'Mavs',
  position: 'Guard',
  points: 31 }

{ _id: ObjectId("6180504e8ffcfe76d07b1da7"),
  team: 'Spurs',
  position: 'Guard',
  points: 22 }

{ _id: ObjectId("618285361a42e92ac9ccd2c6"),
  team: 'Cavs',
  position: 'Guard',
  points: 33 }

예시 3: 문자열로 끝나는 문서 찾기

다음 코드를 사용하여 위치 필드에서 “ward”라는 문자열로 끝나는 모든 문서를 찾을 수 있습니다.

 db.teams.find({ position : { $regex : /ward$/i }})

이 쿼리는 다음 문서를 반환합니다.

 { _id: ObjectId("618050808ffcfe76d07b1dab"),
  team: 'Warriors',
  position: 'Forward',
  points: 26 }

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

의견을 추가하다

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