sql >> データベース >  >> NoSQL >> MongoDB

mongoidを使用してmongodbを使用してメッセージ親内にメッセージ応答を埋め込む

    それがベストプラクティスであるかどうかは、非常に議論の余地のあるトピックです。たとえば、オブジェクトのサイズ制限(現在は4 MBですが、間もなく増加します)に注意する必要があります。

    あなたの質問について:私はあなたが変更することを提案します

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

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

    また、両方の接続を手動で指定する必要があります(とにかく不変である可能性があるため、問題にはなりません)。

    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. Node.jsアプリで2つの同時リクエストが混同される

    2. MongoDBアグリゲーションを使用したイベントのコレクションからの線形ファネル、それは可能ですか?

    3. マングースが空白の配列を追加するのはなぜですか?

    4. mongodbデータベースをエクスポート/ダンプするにはどうすればよいですか?