MongoDB를 데이터베이스 참조
이전 섹션에서, 우리는 문서의 데이터 구조를 표준화 관계 MongoDB를 MongoDB를 참조 언급.
MongoDB를 두 참조가 :
- 참조 설명서 (매뉴얼 참조)
- DBREFS
참조 설명서 대 DBREFS
이와 같은 경우를 생각해 볼 수 있습니다, 우리는 다른 세트 다른 주소에 저장 (address_home, address_office, address_mailing 등) (주소, 사무실 주소, 우편 주소 등)가 있습니다.
우리가 다른 주소를 호출 할 때 따라서, 당신은 수집, 다수의 참조 문서에서 문서의 컬렉션을 지정해야합니다, 우리는 DBREFS를 사용해야합니다.
사용 DBREFS
DBRef 양식 :
{ $ref : , $id : , $db : }
로 표시되는 세 개의 필드의 의미 :
- $ 참고 : 컬렉션 이름
- $ ID : 기준 ID
- $ DB : 데이터베이스 이름, 선택적 매개 변수
다음의 예는 사용자 데이터 문서 DBRef 필드 주소를 사용
{ "_id":ObjectId("53402597d852426020000002"), "address": { "$ref": "address_home", "$id": ObjectId("534009e4d852427820000002"), "$db": "w3cschoolcc"}, "contact": "987654321", "dob": "01-01-1991", "name": "Tom Benzamin" }
주소 DBRef 필드는 주소 참조 문서 address_home 수집 w3cschoolcc 데이터베이스에서, ID가 534009e4d852427820000002입니다 있습니다 지정합니다.
다음 코드, 우리는 $ 심판 매개 변수 (address_home 세트)에 의해 지정된 지정된 주소 정보를 사용자 ID에서 컬렉션을 찾을 수있다 :
>var user = db.users.findOne({"name":"Tom Benzamin"}) >var dbRef = user.address >db[dbRef.$ref].findOne({"_id":(dbRef.$id)})
위의 예는 address_home 수집 주소 데이터를 반환 :
{ "_id" : ObjectId("534009e4d852427820000002"), "building" : "22 A, Indiana Apt", "pincode" : 123456, "city" : "Los Angeles", "state" : "California" }