{
"_id" : ObjectId("5b83e0491ca61552dca474cd"),
"title" : "9",
"updated" : [ ],
"date" : ISODate("2018-08-27T20:28:09.566+09:00"),
"count" : 4,
"comments" : [
{
"name" : "글쓴이",
"memo" : "1",
"_id" : ObjectId("5b9b2ae6f195ca40bcc43802"),
"date" : ISODate("2018-09-14T12:28:38.985+09:00")
}
],
"contents" : "9",
"__v" : 2
}
findOneAndDelete 함수를 아래처럼 쓰면 embedded document만 삭제되는 게 아니라 글이 통째로 삭제된다.
db.collection.findOneAndDelete(
{_id:ObjectId(), comments:{$elemMatch:{_id:ObjectId()}}}
)
update 함수에서 $pull 명령어를 같이 써줘야 한다.
우선 ObjectId로 글을 찾고, $pull 명령어와 댓글의 ObjectId를 써서 댓글에 접근하고 삭제한다.
db.boards.update(
{_id:ObjectId("5b83e0491ca61552dca474cd")},
{$pull:{comments:{_id:ObjectId("5b9b2ae8f195ca40bcc43803")}}}
);
'과목 > 빅데이터' 카테고리의 다른 글
Mongoose에서 findOneAndUpdate 사용하기 (0) | 2018.08.22 |
---|---|
MongoDB findOneAndUpdate (0) | 2018.08.21 |
MongoDB update, findAndModify (0) | 2018.08.15 |
MongoDB 문장 속에 있는 일치하는 단어 찾기 regex pattern for finding a specific word that belong somewhere. (0) | 2018.08.11 |
NoSQL RDBMS 비교 (0) | 2018.07.28 |