Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- AWS NAT
- AWS 요금
- AWS
- MongoDB
- AWS #CloudTrail #AWS로그
- Loard Balancer
- Datamodel
- EC2 생성
- codepreosso
- 몽고DB
- 스프링 게시판
- MongoDB DataModel
- SpringProject
- MongoDB 참조
- MongoDB Reference
- codepresso
- 레디스설치
- AWS VPC
- AWS Route53
- AWS NAT gateway
- Amazon Web Service
- 소프트웨어 개발과 테스트
- JPA연관관계
- EC2 배포
- ubuntu 배포
- 코드프레소
- VPC EC2
- AWS CloudTrail
- aws ec2
- SrpingBoot
Archives
- Today
- Total
정환타 개발노트
MongoDB Database 참조(References) 본문
MongoDB에서 DB를 참조하는 방법은 두가지로 나뉜다.
하나는 수동 참조(Manual Reference)이며, 다른 하나는 "DBRefs"를 사용하는 것이다.
수동 참조
수동 참조 방식은 다른 document의 _id 필드를 참조를 사용할 document의 하나의 필드로 저장하는 방식이다.
필드 중 하나인 _id 값을 통해 참조할 document의 데이터를 가져온다. 대부분의 경우에는 수동 참조 방식을 사용한다.
아래에는 첫번째인 place 컬렉션과 두번째인 poeple 컬력센 두개로 구성되어 있다.
original_id = ObjectId()
db.places.insert({
"_id": original_id,
"name": "Broadway Center",
"url": "bc.example.net"
})
db.people.insert({
"name": "Erin",
"places_id": original_id,
"url": "bc.example.net/Erin"
})
people 컬렉션에서는 places_id를 통하여 places로 접근하고 데이터를 참조하여 가져올 수 있다.
위처럼 비교적 간단하기에 가장 많이 사용되는 참조 방식이다.
DBRefs
DBRefs는 특정 참조 유형을 나타내는 것이 아닌 문서 자체를 나타내는 규칙이다.
_id 필드의 이름 값 외에 컬렉션 이름, 경우에 띠라서는 db이름까지도 포함이 된다.
DBRef는 총 3개의 인자를 가질 수 있는데 다음과 같다.
- $ref - 참조할 document의 컬렉션 이름
- $id - document 내의 _id 필드
- $db - 참조할 document의 db 이름
DBRef는 다음과 같은 형식으로 저장된다.
{ "$ref" : <value>, "$id" : <value>, "$db" : <value> }
'Dev-Database > NoSQL' 카테고리의 다른 글
MongoDB Sharding(Shards, Config server, Mongos) (0) | 2020.02.17 |
---|---|
MongoDB Sharding(샤딩) (0) | 2020.02.12 |
MongoDB Model(모델) 활용 (0) | 2020.02.05 |
MongoDB Data Model(Relationship, Tree 구조) (0) | 2020.02.05 |
MongoDB Bulk Write(대랑 쓰기) & Retryable Write(쓰기 재시도) (0) | 2020.02.03 |
Comments