도큐먼트 삽입

도큐먼트 삭제

> db.movies.deleteOne({"_id" : 4})
> db.movies.deleteOne({"year" : 1995})

도큐먼트 갱신

// $inc 카운터 값 증가
>	db.analytics.updateOne({"url" : "www.example.com"}, {"$inc" : {"pagebiews" : 1}})
// 필드 값 설정 -> 필드값이 존재하지 않으면 새 필드가 생성됨. 스키마를 갱신하거나 사용자 정의 키를 추가할 때 편리
> db.users.updateOne({"_id" : 4}, {"$set" : {"favorite book" : "War and peace"}})
// 데이터 타입도 변경가능
> db.users.updateOne({"_id" : 4}, {"$set" : {"favorite book" : ["War and peace"]}})
// $unset으로 키-값 모두 제거 가능
// $push 배열 요소 추가
> db.blog.posts.updateOne({"_id" :  4}, {"$push" : {"content" : {"name" : "bob"}}})
// $each -> iterator
// $slice -> 배열의 최대 갯수 유지(queue)
// $sort -> 정렬
> db.movies.updateOne({"genre" : "horror"},
{"$push" : {"topl0" : {"$each" : 
[
	{"name" : "Nightmare on Elm Street", "rating" : 6.6},
	{"name" : "Saw", "rating" : 4.3}
], "$slice" : -10, "$sort" : {"rating" : -1}}}})

// $ne -> not equals -> 조건에 해당하는 데이터가 없다면
> db.papers.updateOne({"authors cited" : {"$ne" : "Richie"}}, {$push : {"authors cited" : "Richie"}})
// $addToSet -> 중복을 피하고 배열에 요소 추가
> db.users.updateOne({"_id" : Objectld("4b2d75476cc613d5ee930164")}, {"$addToSet" : {"emails" : {"$each" :
["[email protected]", "[email protected]", "[email protected]"]}}})
// $pop -> 1(마지막요소), -1(첫번째요소) 부터 제거하는 방법 => stack 비슷
> {"$pop" : {"key" : 1}}
// $pull -> 주어진 조건에 맞는 요소 제거
> db.lists.updateOne({}, {"$pull" : {"todo" : "laundry"}})