Mongo DB 에서 사용 할 수 있는 쿼리 옵션에 대해 알아본다.
lt 는 미만이다.
db.nettuts.find( { "age" : { "$lt" : 40 } } );
이렇게 쿼리를 보내면 age가 40 미만인 것을 가져온다.
lte 는 이하 이다.
db.nettuts.find( { "age" : { "$lte" : 40 } } );
이렇게 쿼리를 보내면 age 가 40 이하인 것을 가져온다.
gt는 초과 이다.
db.nettuts.find( { 'age' : { '$gt' : 47 } } );
이렇게 쿼리를 보내면 age 가 47 초과하는 것을 가져온다.
gte는 이상이다.
db.nettuts.find( { 'age' : { '$gte' : 47 } } );
이렇게 쿼리를 보내면 age 가 47 이상인 것을 가져온다.
in은 특정 key의 값이 ㅁㅁㅁ인 경우에 사용한다.
db.nettuts.find( { 'occupation' : { '$in' : [ "actor", "developer" ] } }, { "first" : 1, "last" : 1 } );
이렇게 사용한다. 이렇게 쿼리를 작성하면 occupation 이 actor이거나 developer인 것을 가져온다.
first 와 last 에 각각 1이 있으므로 오름차순으로 정렬한다.
nin 은 in과 반대로 동작한다.
occupation 이 actor도 아니고 developer도 아닌 것을 가져온다.
not 을 알아보자. not 은 부정 연산자이다.
db.nettuts.find( { 'occupation' : { '$not' : [ "actor", "developer" ] } }, { "first" : 1, "last" : 1 } );
not 뒤의 조건이 아닌 경우를 찾는다.
정규표현식
db.nettuts.find( { "first" : /(ma|to)*/i, "last" : /(se|de)/i } );
이렇게 쿼리를 작성하면 first가 ma 또는 to 로 시작하는 것을 가져온다.
그리고 last 가 se 또는 de로 시작하는 것도 가져온다.
특정 문자를 포함하는 결과를 모두 가져오려면 이렇게 하면 된다.
db.nettuts.find( { "first" : { $regex : /(ma)/ } } );
이렇게 하면 ma가 앞뒤로 포함된 모든 결과를 가져온다.
출처: https://fors.tistory.com/403 [Code]
'mongoDB' 카테고리의 다른 글
node js 에서 mongodb 필드추가 (0) | 2021.10.19 |
---|