-
배열 연산자데이터베이스/MongoDB 2023. 12. 28. 13:50
# 데이터 입력 db.inventory2.insertMany([ { item: 'journal', qty: 25, tags: ['blank', 'red'] }, { item: 'notebook', qty: 50, tags: ['red', 'blank'] }, { item: 'paper', qty: 100, tags: ['red', 'blank', 'plain']}, { item: 'planner', qty: 75, tags: ['blank', 'red'] }, { item: 'postcard', qty: 45, tags: ['blue']}])
# red 문자열이 들어있는 도큐먼트 모두 검색됨 db.inventory2.find({tags: 'red'}, {_id: 0}) { item: 'journal', qty: 25, tags: [ 'blank', 'red' ] } { item: 'notebook', qty: 50, tags: [ 'red', 'blank' ] } { item: 'paper', qty: 100, tags: [ 'red', 'blank', 'plain' ] } { item: 'planner', qty: 75, tags: [ 'blank', 'red' ] }
# blank와 red 두 개의 요소를 다 가지고 있는 도큐먼트 불러오기 db.inventory2.find({tags: ['red', 'blank']}, {_id: false}) { item: 'notebook', qty: 50, tags: [ 'red', 'blank' ] }
쿼리 필드의 값으로 배열을 갖게 되어 내용과 순서가 정확하게 일치하는 도큐먼트를 불러오게 됨
배열 연산자
operator 설명 $all 순서와 상관없이 배열 안의 요소가 모두 포함되면 선택 $elemMatch $elemMatch 조건과 맞는 배열 속 요소를 가진 Document 선택 $size 해당 배열의 크기가 같은 Document를 선택