From 62b93a7245860a55f7f0def9dd4942711b13d1d9 Mon Sep 17 00:00:00 2001 From: Devin Alvaro <devin.alvaro@gmail.com> Date: Tue, 21 Nov 2017 17:45:40 +0700 Subject: [PATCH] Add addChat() method to ChatData --- mongoose.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/mongoose.js b/mongoose.js index 1ca2783..89803f9 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() + } + }) + } } -- GitLab