Случайная ошибка с Mongoose и Mongodb: не авторизован для выполнения команды - PullRequest
0 голосов
/ 11 июня 2018

Мое приложение работает на NodeJS 9.5.0 и mongoose 5.1.3 на MongoDB в Mlab.Иногда я получаю not authorized to execute command, и простой перезапуск процесса узла устраняет проблему.Есть идеи, что может быть причиной этого?

Моя строка подключения:

// import environmental variables from our variables.env file
require('dotenv').config({ path: 'variables.env' });

// Connect to our Database and handle any bad connections
mongoose.connect(process.env.DATABASE);

И в моих переменных. Env (отредактированные номера пользователя / прохода / базы данных):

DATABASE=mongodb://<DBUSER>:<DBPASS>@ds0000-a0.mlab.com:0000,ds000000-a1.mlab.com:00000/app?replicaSet=rs-ds00000

Я не могу выделить то, что случайно вызывает ошибку аутентификации.

1 Ответ

0 голосов
/ 11 июня 2018

Просто случайно, да.Возможно добавьте обратный вызов или обещание и перехватите ошибку:

mongoose.connect(uri, options, function(error) {
  // Check error in initial connection. There is no 2nd param to the callback.
});

// Or using promises
mongoose.connect(uri, options).then(
  () => { /** ready to use. The `mongoose.connect()` promise resolves to 
  undefined. */ },
  err => { /** handle initial connection error */ }
);

Источник: http://mongoosejs.com/docs/connections.html

...