[MongoDB] Database 참조

2020. 12. 18. 01:21Database/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": <값> }

[참조] junghwanta.tistory.com/35?category=857330

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