데이터베이스/MongoDB
배열 연산자
haventmetyou
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를 선택 |