db.컬렉션명.updateMany({조건},{$unset:{msg:1(삭제할 필드)}})
db.컬렉션명.updateMany({조건},{변경할내용},{어떤데이터를 수정해야하는지 명시})
db.profile.updateMany({"broadcast.num":"2"},
{$set:{"broadcast.$[변수].actor":XX}},
{arrayFilter:[
{"변수.num":"2"}
]})

db.profile.find({subject:"spring"})
//spring mongodb가 있는 도큐먼트
db.profile.find({subject:{$in:["spring","mongodb"]}})
//spring mongodb가 없는 도큐먼트
db.profile.find({subject:{$nin:["spring","mongodb"]}})
db.profile.find({"musiclist":{$size:2}})
db.profile.find({"musiclist":{$size:4}})
//처음 조회된 도큐먼트만 변경 - updateOne
db.profile.updateMany({"broadcast.num":"2"},
{$set:{"broadcast.$[element].actor":["박서준", "최우식","정유미","이서진"]}},
{arrayFilters:[{"element.num":"2"}]})
db.profile.updateMany({"broadcast.num":"2"},
{$unset:{"broadcast.$[element].actor":1}},
{arrayFilters:[{"element.num":"2"}]})
//필드삭제
db.emp.updateMany({},{$unset:{msg:1}})
db.emp.find({})
db.profile.updateMany({"broadcast.num":"2"},
{$set:{"broadcast.$[element].actor":["박서준", "최우식","정유미","이서진"]}},
{arrayFilters:[{"element.num":"2", "element.title":"서진이네"}]})
db.profile.find({"addr.addr2":"서초동"})
db.profile.find({"broadcast":{$elemMatch:{
"rating.max":{$gte:5,$lte:20},
"title":"서진이네"
}}},
{"broadcast":{$elemMatch:{
"rating.max":{$gte:5,$lte:20}
}}}
)
place:["경복궁","유엔사무소","MBC","KBS","SBS"]
db.profile.updateMany({"musiclist.num":"4"},
{$set:{"musiclist.$[element].place":["경복궁","유엔사무소","MBC","KBS","SBS"]}},
{arrayFilters:[{"element.num":"4"}]})
filter 연산자는 aggregation(집합 - group by)에서 사용하는 연산자 변수 앞에 $을 추가하기
db.profile.find({"musiclist":{$elemMatch:{
"year":{$in:["2021","2022","2023"]},
}}},
{"musiclist":{
$filter:{
input:"$musiclist",
as:"item",
cond:{$in:["$$item.year",["2021","2022","2023"]]}
}}}
)
db.profile.find({})
본 포스팅은 멀티캠퍼스의 멀티잇 백엔드 개발(Java)의 교육을 수강하고 작성되었습니다.