Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I have created a chat Mongoose model for my chat API. I stored each chat json to messages field of the chat model. I think that when the messages field filled with json the document size increase and it will exceed the 16MB capacity. In that moment I want to create a new document and I want to save the chat messages to that document and i will track these document in other document. So how can i handle the exceed error. I think that i can handle with that error by using try/catch for that reason what is the name of this exception?

Note: I just store the text message there is no binary mesage like video or photograph.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
2.3k views
Welcome To Ask or Share your Answers For Others

1 Answer

With mongo is preferable to handle large collection of small document instead of small collection of big documents.

You should change your chat model which must look like this for the moment:

// chat model
{
    _id: ObjectId("/..."),
    title: "...",
    messages: [
        {_id: 1, text: "...."},
        {_id: 2, text: "...."},
        ....
    ]
}

To something like this:

// chat model
{
    _id: ObjectId("/..."),
    title: "..."
}

With a collection of messages references the chat model

 // messages collections
 {
  _id: ObjectId("...."),
  chat_id: "...",
  text: "..."
},

{
  _id: ObjectId("...."),
  chat_id: "...",
  text: "...
},

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...