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

Nhúng tin nhắn trả lời bên trong tin nhắn gốc với mongodb bằng cách sử dụng mongoid

Cho dù đó có phải là phương pháp tốt nhất hay không là một chủ đề gây tranh cãi nhiều. Ví dụ:bạn phải quan tâm đến giới hạn kích thước đối tượng (hiện tại là 4 MB, nhưng sẽ sớm tăng lên).

đối với câu hỏi của bạn:Tôi khuyên bạn nên thay đổi

  embeds_many :replies, :class_name => 'Message'
  embedded_in :message, :inverse_of => :replies

đến

  embeds_many :replies, :class_name => 'Message'
  referenced_in :message

Và bạn cũng sẽ phải chỉ định cả hai kết nối theo cách thủ công (đó không phải là vấn đề, vì chúng có thể là bất biến).

irb(main):002:0> msg1 = Message.new :subject => 'new question'
=> #<Message _id: 4cc7699f457601d7e8000001, created_at: nil, body: nil, updated_at: nil, subject: "new question", read_at: nil, sender_deleted: false, message_id: nil, recipient_deleted: false>
irb(main):003:0> msg2 = Message.new :subject => 'first comment'
=> #<Message _id: 4cc769b6457601d7e8000002, created_at: nil, body: nil, updated_at: nil, subject: "first comment", read_at: nil, sender_deleted: false, message_id: nil, recipient_deleted: false>
irb(main):005:0> msg2.message = msg1
=> #<Message _id: 4cc7699f457601d7e8000001, created_at: nil, body: nil, updated_at: nil, subject: "new question", read_at: nil, sender_deleted: false, message_id: nil, recipient_deleted: false>
irb(main):007:0> msg1.replies << msg2
=> [#<Message _id: 4cc769b6457601d7e8000002, created_at: nil, body: nil, updated_at: nil, subject: "first comment", read_at: nil, sender_deleted: false, message_id: BSON::ObjectId('4cc7699f457601d7e8000001'), recipient_deleted: false>]
irb(main):008:0> msg1.save
=> true



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Sự cố khi sử dụng $ concat để cập nhật giá trị của một trường

  2. Cách truy vấn BsonExtraElements trong MongoDB qua Linq

  3. Chỉ sao chép các tài liệu có {'public':true} trong MongoDB

  4. Tìm kiếm không phân biệt chữ hoa chữ thường trong Mongo

  5. Cam kết hai giai đoạn trong MongoDB