Доброго времени суток.
Есть функции для добавления, перезаписи и удаления пользователя. Выглядят они примерно так:
function addUser(db, user, collection) {
db.open(function(err, db) {
let users = db.collection(collection);
users.insert(user, function(err, result) {
db.close();
});
});
};
Остальные функции выглядят аналогичным образом. После большого кол-ва вызовов таких функций в консоль вылезло сообщение об утечке памяти. Как я понял, это произошло из-за того, что при каждом
db.open()
добавляется обработчик событий. Решил эту проблему добавлением строчки
db.s.topology.s.server._eventsCount = 1;
.
Утечек больше нет, но правильно ли так делать? Может, есть способ лучше?