728x90
반응형
SMALL
{
_id: ObjectId("651ea1c50f2a995b7b1b0d64"),
title: 'Name of the Wind',
author: 'Patrick Rothfuss',
pages: 500,
genres: [
'문학작품',
'동화'
],
rating: 9,
}
mongoDB에선 저기 왼쪽의 key를 필드라 말한다
json과 비슷하게 생긴 구조이며
저 하나의 Documents 안에 중첩으로 또 들어갈수도 있다
{
_id: ObjectId("651ea1c50f2a995b7b1b0d64"),
title: 'Name of the Wind',
author: 'Patrick Rothfuss',
pages: 500,
genres: [
'문학작품',
'동화'
],
rating: 9,
"stock": {
"count": 21,
"price": 7,000원
}
}
가격부분과 제고량이 들어갔다
또는 이 책에 대한 리뷰 내용이 들어갈수도 있을것이다
{
_id: ObjectId("651ea1c50f2a995b7b1b0d64"),
title: 'Name of the Wind',
author: 'Patrick Rothfuss',
pages: 500,
genres: [
'문학작품',
'동화'
],
rating: 9,
"reviews": [
{"userName": "jerry", "commentTitle": "So Good content!", "comment": "Thank You"},
{"userName": "terry", "commentTitle": "So Good content!", "comment": "Thank You"},
{"userName": "gerry", "commentTitle": "So Good content!", "comment": "Thank You"}
]
}
각 책의 Document에
reviews 필드와 그 값이 될 추가 필드를 추가 시킬수 있다
그리고 해당 필드는 Document의 배열일수도 있고
중첩된 각각의 Document는 이 책에 대한 리뷰를 나타낸다
그리고 그 필드들은 작성자이름, 댓글제목, 댓글 등으로 나타내질수 있다
해당 책을 가져오게 되면 그 책에 대한 리뷰 목록도 함께 갖고오게 되는데
이는 해당 데이터를 웹페이지 등에 함께 쓰이게 되며
책의 세부 정보를 나타날때 좋다
이제 이 중첩된 문서나 포함된 문서를 사용하는 이 접근 방식은 몇가지 이점이 있다
- 리뷰 데이터를 쉽게 저장하고 관리할 수 있다
- 리뷰 데이터를 별도의 데이터베이스나 테이블에 저장할 필요가 없으므로 데이터 관리가 간편해짐
- 리뷰 데이터를 효율적으로 검색가능
- 특정 사용자나 특정 주제에 대한 리뷰를 검색하는게 가능함
- 읽기 성능이 향상됨
중첩문서 함 만들어 보자
원래 있던 7개의 책 전부 밀어버리고
다시 만들거다
중첩 Documents를 쓸거고 그럼 이제 해보자
이런식으로... 넣을거다
db.books.insertMany([{title: "The Light Fantastic", author: "Terry Partchett", pages: 250, rating: 6, genres: ["fantasy", "magic"], reviews: [{name: "luigi", body: "it was pretty good"}, {name: "bowser", body: "loved it!!!"}]}, {title: "The Name of the Wind", author: "patrick Rothfuss", pages:500, rating: 10, genres:["fantasy"], reviews: [{name: "peach", body: "one of my favs"}]}, {title: "The Color of Magic", author: "Terry Partchett", pages:350, rating: 8, genres:["fantasy", "masic"], reviews: [{name: "luigi", body: "it was ok"}, {name: "bowser", body: "really good book!!"}]}, {title: "1984", author: "George Orwell", pages:300, rating: 6, genres:["sci-fi", "dystopin"], reviews: [{name: "peach", body: "not my cup of tea"}, {name: "mario", body: "meh"}]}])
하.. 괄호 오타 나도 몰름
아무튼 넣고 나면
쭈루룩 들어간거 확인~!
JOIN이랑은 다른 개념인거지..?
728x90
'SQL' 카테고리의 다른 글
11) mongoDB Tutorial - $in과 $nin (포함과 안포함) (0) | 2023.10.06 |
---|---|
10) mongoDB Tutorial - 연산자와 복합연산자 쿼리 (0) | 2023.10.06 |
8) mongoDB Tutorial - Data Sorting과 Limiting 하기 (0) | 2023.10.06 |
7) mongoDB Tutorial - Documents 찾기 (0) | 2023.10.06 |
6) mongoDB Tutorial - 새 Documents 추가 해보자 (0) | 2023.10.06 |