MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

mục đích thực sự của $ ref (DBRef) trong MongoDb là gì

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ỏ.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Những điều cần biết khi bắt đầu làm việc với MongoDB trong sản xuất - Mười lời khuyên

  2. truyền dữ liệu giữa máy chủ và máy khách (node.js + mongodb)

  3. Không bằng trong trình ánh xạ mongo

  4. Mongodb - phải _ phải là duy nhất trên toàn cầu khi sharding

  5. Sử dụng wait.for với nodejs và mongoskin để tránh callback hell