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

mongodb - Xây dựng DBRef bằng chuỗi hoặc ObjectId

Sự khác biệt duy nhất là một thực sự là một ObjectId và cái còn lại là biểu diễn chuỗi của những gì trông giống như một ObjectId .

DBRef dưới dạng một ObjectId:

db.persons.insert({name: 'cavin', 
     sister: new DBRef('persons', 
         new ObjectId('5165419064fada69cef33ea2'))}) // use an ObjectId

DBRef dưới dạng một chuỗi:

db.persons.insert({name: 'bob', 
     sister: new DBRef('persons', 
        '5165419064fada69cef33ea2')}) // use a string

Trong ví dụ bạn đã đưa vào, ObjectId định dạng có thể dẫn đến việc lưu trữ hiệu quả hơn vì đó là giá trị 12 byte thay vì 24 byte mà biểu diễn chuỗi sẽ yêu cầu. Nếu bạn muốn sử dụng DBRef s, tôi sẽ sử dụng một ObjectId nếu bộ sưu tập được tham chiếu đang sử dụng ObjectId s cho _id .

Bạn không bắt buộc phải sử dụng ObjectId trong DBRef . Nó có thể là bất kỳ giá trị nào đại diện cho khóa (_id ) của bộ sưu tập liên quan / DB.

Như tài liệu gợi ý, trừ khi bạn có lý do thuyết phục để sử dụng DBRef , hãy sử dụng các tham chiếu thủ công để thay thế.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB bằng cách nào đó bị giới hạn ở một lõi duy nhất?

  2. Làm cách nào để truy cập các đối tượng json được nhúng trong Pandas DataFrame?

  3. Mẹo quản lý sao lưu MongoDB cho các cụm bị chia nhỏ

  4. Lọc tài liệu theo khoảng cách được lưu trữ trong tài liệu với $ gần

  5. Không muốn bắt đầu mongod bằng `sudo mongod`