[MongoDB] Database 참조
2020. 12. 18. 01:21ㆍDatabase/MongoDB
1. 수동 참조
수동 참조는 다른 Document의 '_id' 필드를, 참조를 사용할 Document의 하나의 필드로 저장하는 방식이다. 필드 중 하나인 '_id'값을 통해 참조할 Document의 데이터를 가져온다. 대부분의 경우에는 수동 참조 방식을 사용한다.
예를 들어, people 컬렉션에서 places_id를 통해 places로 접근하고 데이터를 참조하여 가져올 수 있다.
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"
})
2. DBRefs
DBRefs는 특정 참조 유형을 나타내는 것이 아닌 문서 자체를 나타내는 규칙이다. '_id'필드의 이름값 외에 컬렉션 이름, 경우에 따라서는 데이터베이스명까지도 포함된다.
DBRefs는 총 3개의 인자를 가질 수 있다.
- $ref : 참조할 Document의 컬렉션 이름
- $id : Document내의 '_id' 필드
- $db : 참조할 Document의 데이터베이스명
DBRefs는 다음과 같은 형식으로 저장된다.
{ "$ref": <값>, "$id": <값>, "$db": <값> }
728x90
'Database > MongoDB' 카테고리의 다른 글
[MongoDB] Sharding (Shard, Config Server, Mongos) (0) | 2020.12.18 |
---|---|
[MongoDB] Sharding (0) | 2020.12.18 |
[MongoDB] Model 활용 (0) | 2020.12.18 |
[MongoDB] Data Model (Documents간의 관계 설정 구조) (0) | 2020.12.17 |