MongoDB 쿼리 예제

MongoDB Query 방법 몇개 정리

{serial:{$regex:"^00:08:DC"}}

시리얼이 00:08:DC 로 시작하는 데이터를 검색해라

{serial:{$not:{$regex:"^00:08:DC"}}}

시리얼이 00:08:DC 로 시작하지 않는 데이터를 검색해라

{serial:{$regex:"^00:08:dc",$options:"i"}}

시리얼이 00:08:DC 로 시작하는 데이터를 검색해라. 단, 대소문자 구분은 하지 않는다. {serial:{$not:{$regex:"^00:08:dc",$options:"i"}}}

대소문자 구분 없이 시리얼이 00:08:DC 로 시작하지 않는 데이터를 검색해라

{serial:{$regex:"08:00"}}

시리얼에 08:00 패턴이 있는 것을 검색해라

{box:{$regex:"328"}}

박스에 328 문자가 있다면 알려줘라.

  • and 조건을 걸고 싶다면, 다음과 같이 해리
    • { $and : [ {box:/pa_120/} , {deleted:0} ] }
    • { $or : [ {box:/pa_120/} , {deleted:0} ] } - or도 가능

레퍼런스 사이트

$regex operator expression (Starting in MongoDB 4.0.7)
For example, the following query selects all documents in the inventory collection where the item field value does not start with the letter p.

db.inventory.find( { item: { $not: { $regex: "^p.*" } } } )
db.inventory.find( { item: { $not: { $regex: /^p.*/ } } } )

For example, the following PyMongo query uses Python's re.compile() method to compile a regular expression:

import re
for noMatch in db.inventory.find( { "item": { "$not": re.compile("^p.*") } } ):
    print noMatch

 

db.products.find({name:{$regex:"sd"}) --> name키값에 sd가 포함되어 있는 것을 찾아라

 

$regex : "s" --> s가 포함되어있는것을 찾기

$regex : "s$" --> 끝자리가 s인것을 찾기

$regex : "^s" --> 첫자리가 s인것을 찾기

 

여행을 떠나요

Bobby Nguyen 님의 사진, 출처: Pexels