diff --git a/mongoose.js b/mongoose.js
index 1ca278312aa1c706ddfff6a0ac16627541706c65..89803f908a11b25da6571faf93ec18c24574a043 100644
--- a/mongoose.js
+++ b/mongoose.js
@@ -12,4 +12,33 @@ class ChatData {
     })
     this.ChatModel = this.mongoose.model('Chat', this.chatSchema)
   }
+
+  addChat (senderId, receiverId, content) {
+    var participantIds = [ senderId, receiverId ]
+    participantIds.sort()
+
+    var chat = {
+      owner_id: senderId,
+      content: content
+    }
+
+    this.ChatModel.findOneAndUpdate(
+      { participant_ids: participantIds },
+      { $push: { chats: chat } }, (err, done) => {
+        if (err) {
+          console.error(err)
+        }
+        if (!done) {
+          var chat = new this.ChatModel({
+            participant_ids: participantIds,
+            chats: [{
+              owner_id: senderId,
+              content: content
+            }]
+          })
+
+          chat.save()
+        }
+      })
+  }
 }