вебсокеты и mongodb

подскажите, пожалуйста - имеется сервер, с запросами и поддержкой вебсокета. Ситуация следущая - при отправке сообщения через вебсокет в монгодб создается одна запись, ответ приходит два раза, я пытался как то подебажить, но newMessage почему то выводится 3 раза, а modifiedMessage - 1 раз, я если что веб учу и еще не силен в серверной части, это единственный контроллер и нигде больше не дублируется

const handleWebSocketConnection = (ws) => {
  const messageChangeStream = mongoose.connection.collection('messages').watch()

  messageChangeStream.on('change', (change) => {
    if (change.operationType === 'insert') {
      const newMessage = change.fullDocument

      console.log('newMessage', newMessage) //данное сообщение выводится 3 раза

      ws.send(
        JSON.stringify({
          processing: 'add',
          data: newMessage,
        })
      )
    }
  })

  ws.on('message', async (clientMessage) => {
    const parsedMessage = JSON.parse(clientMessage)

    switch (parsedMessage.processing) {
      case 'add':
        await messageService.addMessage(parsedMessage)
        break
    }
  })
}

class MessageService {
  async addMessage(message) {
    const modifiedMessage = {
      ...message.data,
      delivered: true,
    }

    console.log('modifiedMessage', modifiedMessage) //данное сообщение выводится 1 раз
    await MessageModel.create({ ...modifiedMessage })
  }
}

Ответы (0 шт):