Tham chiếu Database trong MongoDB

Như đã được trình bày trong chương Relationship trong MongoDB, để triển khai một cấu trúc cơ sở dữ liệu tiêu chuẩn hóa trong MongoDB, chúng ta sử dụng khái niệm Referenced Relationship, còn được gọi là Manual References, trong đó chúng ta thao tác

Như địa chỉ đã tất toán được trình bày trong chương Relationship trong MongoDB dữ liệu , giả mạo để triển khai một cấu trúc cơ sở dữ liệu tiêu chuẩn hóa trong MongoDB tài khoản , chúng ta sử dụng khái niệm Referenced Relationship chi tiết , còn hướng dẫn được gọi là Manual References trực tuyến , trong đó chúng ta thao tác tối ưu để lưu giữ id link down của tối ưu các Document link down được tham chiếu bên trong Document khác tối ưu . Tuy nhiên ở đâu nhanh , trong qua mạng các trường hợp hướng dẫn mà một Document chứa nhiều tham chiếu từ phải làm sao các Collection khác nhau tối ưu , qua web thì chúng ta sử dụng DBRefs trong MongODB.

DBRefs ở đâu nhanh và Manual References

Trong ví dụ sau hỗ trợ , chúng ta địa chỉ sẽ sử dụng DBRefs thay cho Manual References sử dụng . Giả sử có một Database chúng ta dùng tài khoản để lưu giữ miễn phí các kiểu địa chỉ khác nhau (home link down , office miễn phí , mailing,…) trong địa chỉ các Collection khác nhau (address_home tất toán , address_office tính năng , address_mailing,…) tối ưu . qua app Bây giờ phải làm sao , khi một user collection tham chiếu một địa chỉ lừa đảo , nó xóa tài khoản cũng cần xác định xem collection nào nó dịch vụ sẽ nhìn vào kỹ thuật , dựa trên kiểu địa chỉ thanh toán . Trong tình huống giả mạo như vậy lừa đảo , khi một Document tham chiếu tới Document khác từ nhiều Collection tối ưu , chúng ta nên sử dụng DBRefs.

Sử dụng DBRefs trong MongoDB

Có 3 trường trong DBRefs:

$ref: Trường này xác định Collection hướng dẫn của Document qua mạng được tham chiếu.

$id: Trường này xác định trường _id nguyên nhân của Document lấy liền được tham chiếu.

$db: Trường này là một trường tùy ý đăng ký vay , chứa tên dịch vụ của Database quảng cáo mà Document như thế nào được tham chiếu ở trong đó.

Giả sử một user document có trường address dạng DBRefs cài đặt như sau:

{  "_id":ObjectId("53402597d852426020000002"),  "address": {  "$ref": "address_home",  "$id": ObjectId("534009e4d852427820000002"),  "$db": "tutorialspoint"},  "contact": "987654321",  "dob": "01-01-1991",  "name": "Tom Benzamin"}

Trường address dạng DBRefs ở đây xác định rằng address document tự động được tham chiếu ở trong address_home collection dưới tutorialspoint database cập nhật và có một id là: 534009e4d852427820000002.

Phần code sau link down sẽ nhìn vào Collection danh sách được xác định tốt nhất bởi tham số $ref (là address_home trong trường hợp này) cho một Document giảm giá với id như thế nào được xác định sửa lỗi bởi tham số $id trong DBRefs.

>var user = db.users.findOne({"name":"Tom Benzamin"})>var dbRef = user.address>db[dbRef.$ref].findOne({"_id":(dbRef.$id)})

Code trên trả về address document mẹo vặt sau đây cập nhật , nhanh nhất mà có mặt trong address_home collection:

{  "_id" : ObjectId("534009e4d852427820000002"),  "building" : "22 A bản quyền , Indiana Apt",  "pincode" : 123456,  "city" : "Los Angeles",  "state" : "California"}

Theo Tutorialspoint

Bài trước: Relationship trong MongoDB

Bài tiếp: Covered Query trong MongoDB

4.9/5 (80 votes)

Ý kiến khách hàngPreNext