Về cơ bản, DBRef là một ObjectID tự mô tả mà một trình trợ giúp phía máy khách, tồn tại trong tất cả các trình điều khiển (tôi nghĩ là tất cả), cung cấp khả năng trong ứng dụng của bạn để dễ dàng nhận được các hàng liên quan.
Chúng không phải là:
- THAM GIA
- Quan hệ có thể xếp tầng
- Quan hệ phía máy chủ
- Phía máy chủ được giải quyết
Chúng cũng không được sử dụng trong Map Reduce, chức năng đã bị loại bỏ do các biến chứng với sharding.
Tuy nhiên, không phải lúc nào cũng tốt khi sử dụng những thứ này, vì chúng chiếm khá nhiều dung lượng nếu bạn biết bộ sưu tập có liên quan đến hàng đó so với việc chỉ lưu trữ ObjectID. Không chỉ vậy, do cách chúng được giải quyết, mỗi bản ghi liên quan cần được tải từng cái một để thay thế nếu có thể tạo thành một phạm vi (dễ dàng) để truy vấn tất cả các hàng liên quan trong một lần, vì vậy chúng có thể tăng số lượng truy vấn bạn cũng thực hiện với cơ sở dữ liệu, lần lượt tăng các con trỏ.