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

MongoDB - ví dụ tham chiếu thủ công

Tài liệu khá rõ ràng trong phần thủ công mà bạn đang tham khảo, đó là phần trên Tham chiếu Cơ sở dữ liệu . Phần quan trọng nhất để hiểu điều này có trong lời mở đầu trên trang:

Thông tin khác bao gồm chủ đề về cách bạn có thể chọn giải quyết việc truy cập dữ liệu mà bạn lưu trữ trong một bộ sưu tập khác.

DBRef đặc điểm kỹ thuật mà không cần đi vào quá nhiều chi tiết, có thể được triển khai trong một số trình điều khiển như một cách mà khi chúng được tìm thấy trong tài liệu của bạn, chúng sẽ tự động truy xuất (mở rộng) tài liệu được tham chiếu vào tài liệu hiện tại. Điều này sẽ được triển khai "đằng sau hậu trường" với một truy vấn khác tới bộ sưu tập đó cho tài liệu của _id đó.

Trong trường hợp của Tham khảo thủ công về cơ bản điều này nói rằng chỉ có một trường trong tài liệu của bạn có nội dung như ObjectId từ một tài liệu khác. Điều này chỉ khác với DBRef là thứ sẽ không bao giờ được xử lý bởi một triển khai trình điều khiển cơ sở là cách bạn xử lý bất kỳ truy xuất nào khác của tài liệu đó sẽ được thông báo cho bạn.

Trong trường hợp:

> db.collection.findOne()

{
   _id: <ObjectId>,
   name: "This",
   something: "Else",
   ref: <AnotherObjectId>
}

ref trường trong tài liệu không hơn gì một ObjectId đơn thuần và không có gì đặc biệt. Điều này cho phép bạn làm là gửi truy vấn của riêng bạn để lấy chi tiết Đối tượng mà điều này đề cập đến:

> db.othercollection.findOne({ _id: <AnotherObjectId > })
{
  _id: <ObjectId>
  name: "That"
  something: "I am a sub-document to This!"
}

Hãy nhớ rằng tất cả các quá trình này ở phía máy khách thông qua API trình điều khiển. Việc tìm nạp các tài liệu khác không xảy ra trên máy chủ trong mọi trường hợp.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Meteor $ và với $ hoặc

  2. Cách xóa nhiều bản ghi đã chọn trong một bộ sưu tập trong MongoDB bằng cách sử dụng la bàn MongoDB

  3. Cách xuất kết quả truy vấn MongoDB sang tệp CSV

  4. Làm cách nào để thực thi truy vấn gốc MongoDB (JSON) chỉ sử dụng mongo-java-driver?

  5. Có tương đương với PyMongo cho Python 3.2 không?