본문 바로가기

DB/MongoDB

[MongoDB] 11. 쿼리작성하기 - 배열 요소,배열 연산자로 쿼리하기

728x90
반응형

MongoDB에서 배열 요소로 쿼리를 할 수 있다.

 //db.컬렉션.find({필드:배열 요소}) or  db.컬렉션.find({필드:[배열 요소들]})
 db.inventory.find({tags:"red"},{_id:false})
 db.inventory.find({tags:["red","blank"]},{_id:false})

 

MongoDB에서 배열 연산자를 통한 쿼리를 할 수 있다.

 

배열 연산자 종류

연산자 설명
$all 순서와 상관없이 요소가 모두 포함되면 선택
$elemMatch 매치 조건과 맞는 요소를 가진 도큐먼트 반환(범위 질의 가능)
$size 해당 배열의 크기가 같은 도큐먼트 선택
$slice 배열의 부분 집합을 반환

$all

// db.컬렉션.find(필드:{$all:[요소들]})
db.inventory.find({tags:{$all:["red","blank"]}})

$elemMatch

//db.컬렉션.find("필드":{$elemMatch:{조건..})
db.inventory.find({"tags":{$elemMatch:{$gt:10}}})
db.inventory.find({"tags":{$elemMatch:{$lt:5}}})

$size

//db.컬렉션.find({필드:{$size:숫자값}})
db.inventory.find({tags:{$size:0}},{_id:false})
db.inventory.find({tags:{$size:2}},{_id:false})
db.inventory.find({tags:{$size:1}},{_id:false})

$slice

 // db.컬렉션.find({쿼리},{배열 필드:{$slice:나타낼 길이}})
 db.by_month.find({"county":"금천구"},{month_data:{$slice:2}})

728x90
반응형