Приложение NestJS + Mongoose не будет собираться без базы данных - PullRequest
0 голосов
/ 07 октября 2019

У меня есть приложение NestJS, использующее Mongoose, которое я пытался разрешить сборку, когда база данных не может быть подключена. В настоящее время поведение Mongoose по умолчанию - генерировать исключение и завершать сборку приложения. Я пробовал существующие решения для управления соединением, сдерживания ошибок, добавления обработчика ошибок и т. Д., Но ни одно из них не работает.

Вот ядро ​​моей фабрики соединений:

    useFactory: async ():mongoose => {

      try {
        const connection =  await mongoose.connect('mongodb://localhost:27017/testdb');
        const db = mongoose.connection;

        db.on('error', function(error) {
          console.log('*****************************************************');
          console.error('*****DB Error Event******* Error in MongoDb connection: ' + error);
          console.log('*****************************************************');
          mongoose.disconnect();
        });

        db.on('connected', () => {
          console.log('*****************************connected to mongodb');
        });

        db.on('disconnected', () => {
          console.log('*****************************connection disconnected');
        });


        return connection;
      }
      catch(error) {
            console.log('*****************************************************');
            console.log('mongodb connection error: %s', error);
            console.log('*****************************************************');
      }

Перехват получает первое соединение, но повторная попытка соединения выводит приложение через несколько секунд. Я не могу запустить ни одно из событий подключения (включая хорошие). Любая помощь приветствуется!

...