2016-08-15 2 views
0

У меня есть приложение node.js, которое по сути представляет собой эскиз, и в настоящее время я работаю над функцией, позволяющей сохранить все эскизы, которые они нарисовали во время сеанса, в базу данных. они могут выбрать резервную копию в более позднее время, когда они остановились. Я использую базу данных MongoDB, с которой я подключаюсь через Mongoose ORM.Создание модели базы данных с Mongoose

Сервер запускается в файле main.js, который в настоящее время я открываю соединение с БД; однако код для сохранения данных эскиза (который в настоящее время только сохраняется в файле JSON на сервере) находится в отдельном файле. На основании this tutorial кажется, что код для создания моделей для документа должен войти в функцию обратного вызова, которая запускается после открытия соединения. Но учитывая, что логика сохранения эскизов в приложении находится в другом файле, откуда открывается соединение, и поскольку он говорит here, что экземпляры модели не создаются/удаляются до тех пор, пока соединение не будет открыто, кажется, что либо будет быть способом открыть различные подключения, открытые для создания моделей, или что должен быть способ инициировать создание модели для эскизов из кода обратного вызова соединения в main.js.

Я очень новичок в MongoDB и Mongoose, поэтому я не уверен, что это правильный способ подумать о создании моделей, но с учетом потребностей этой функции будет правильным способом открыть соединение с базы данных и сохранения эскизов в базе данных после вызова функции эскиза сохранения?

ответ

1

Возможно, вы можете это переусердствовать.

Просто откройте ваше соединение мангуста (общий пул соединений) с помощью вызова mongoose.connect во время запуска приложения, а затем создайте и сохраните свои модели Mongoose всякий раз. Ваши модели будут использовать общий пул соединений по мере необходимости и будут ждать, пока соединение будет установлено, если это необходимо.

Смежные вопросы