Нехватка памяти 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гб, все равно появляется эта ошибка подскажите, пожалуйста в чем проблема?