MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Menanamkan balasan pesan di dalam pesan induk dengan mongodb menggunakan mongoid

Apakah itu praktik terbaik atau tidak adalah topik yang sangat bisa diperdebatkan. Misalnya, Anda harus memperhatikan batas ukuran objek (saat ini 4 MB, tetapi akan segera naik).

untuk pertanyaan Anda:Saya sarankan Anda mengubah

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

ke

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

Dan Anda juga harus menentukan kedua koneksi secara manual (seharusnya tidak menjadi masalah, karena mereka mungkin tidak dapat diubah).

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. npm install -g mongodb tidak menginstal mongodb secara global di OSX 10.8.4?

  2. MongoDB menyortir dokumen berdasarkan data bersarang

  3. Memperbarui catatan bersarang di array mongodb saat Anda tidak mengetahui indeks dokumen

  4. Tidak dapat terhubung ke MongoDb (menggunakan otentikasi) menggunakan mongocsharpdriver 2.7.0

  5. bagaimana cara memeriksa apakah ada bidang dalam dokumen tertentu Mongodb menggunakan C #?