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() + } + }) + } }