Нехватка памяти mongo, при подключении через socket

import { Server } from "socket.io";
import { createAdapter } from "@socket.io/mongo-adapter";
import { MongoClient } from "mongodb";
 
    const DB = "mydb";
    const COLLECTION = "socket.io-adapter-events";
 
    const io = new Server();
 
    const mongoClient = new MongoClient("mongodb://localhost:27017/");
 
    await mongoClient.connect();
 
    io.on('connection', socket => {
        socket.on('mess', async (mess) => {
            try {
                const database = mongoClient.db('test');
                const messages = database.collection('test');
                //const coin = await messages.findOne({ exchange: mess.exchange, s: mess.s });
 
                await messages.replaceOne({ exchange: mess.exchange, symbol: mess.symbol }, mess, {upsert: true});
                //console.log('Inserted documents =>', insertResult);
 
 
 
            } catch (e) {
                console.log(e.message)
            }
        })
    })
 
 
    const mongoCollection = mongoClient.db(DB).collection(COLLECTION);
 
    io.adapter(createAdapter(mongoCollection));
    io.listen(3000);
    console.log('Server is running!')

взял пример из документации socket, добавил этот код

io.on('connection', socket => {
        socket.on('mess', async (mess) => {
            try {
                const database = mongoClient.db('test');
                const messages = database.collection('test');
                //const coin = await messages.findOne({ exchange: mess.exchange, s: mess.s });
 
                await messages.replaceOne({ exchange: mess.exchange, symbol: mess.symbol }, mess, {upsert: true});
                //console.log('Inserted documents =>', insertResult);
 
 
 
            } catch (e) {
                console.log(e.message)
            }
        })
    })

код клиента

const gate = io('http://localhost:3000/')
 
gate.on("connect", ()=>{
    console.log('client connect')
})
 
//получаем данные и отправляем на сервер mongo
 
gate.emit('mess', coin)

и через некоторое время появляется ошибка

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

изменял выделенение памяти на 4гб, все равно появляется эта ошибка подскажите, пожалуйста в чем проблема?


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