MongoDB: ошибка соединения уже открыта - PullRequest
3 голосов
/ 10 сентября 2011

Я не уверен, эффективно ли я вызываю базу данных, монго. Прямо сейчас я открываю базу данных, получаю коллекцию, делаю мой запрос, закрываю соединение.

I ', возникла проблема со спорадическим бросанием монго: connection already opened

РЕДАКТИРОВАТЬ: все, что я делаю, это войти в систему и выйти несколько раз быстро, и эта ошибка возникает, сбой сервера

Что может вызвать эту проблему?

Большое спасибо за любую помощь!

(я использую собственный драйвер узла)

1 Ответ

1 голос
/ 13 сентября 2011

Поскольку node.js является асинхронным, вы не можете быть уверены, что ваш код будет выполнен полностью за один раз.

Может случиться, что во время асинхронной операции (как и все операции с БД), node.js обрабатывает другой запрос, который откроет новое соединение, даже если у вас уже есть одно открытое.

Что вам нужно сделать, это открыть одно соединение для всего приложения. Слишком неэффективно подключаться к базе данных при каждом запросе страницы, и, как вы уже видели, это может вызвать проблемы, если вы не реализуете это должным образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...