sql >> Databáze >  >> NoSQL >> MongoDB

Vkládání odpovědí na zprávy do nadřazené zprávy pomocí mongodb pomocí mongoidu

Zda je to osvědčený postup nebo ne, je velmi diskutabilní téma. Musíte například dbát na limit velikosti objektu (aktuálně 4 MB, ale brzy se zvýší).

pokud jde o vaši otázku:Navrhuji, abyste změnili

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

do

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

A také budete muset obě připojení specifikovat ručně (to by neměl být problém, protože stejně pravděpodobně jsou neměnná).

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. Jak načíst záznam z mongodb pomocí pole _id a zobrazit načtený záznam v konzole pomocí java

  2. Převést MongoDB BsonDocument na platný JSON v C#

  3. loopback zahrnout do dotazu vzdálenou metodu

  4. Jak poskytnout stránkování na straně serveru pomocí NestJS?