Я пытаюсь локально подключиться к базе данных аутентификации для доступа к моей базе данных приложения. Если я включу опцию useNewUrlParser: true
, то все сломается при неудачной аутентификации. Удаление опции useNewUrlParser
соединяет, но не ставит галочку у этой опции:
config = {
database: "mongodb://localhost:27017/authapp",
auth: {
user : "admin",
password : "123456",
authdb : "admin"
}
...
mongoose
.connect(config.database, {
auth: config.auth,
useNewUrlParser: true
})
.then(() => {...}
Я получаю:
[nodemon], начиная с node index.js
(узел: 17814) Предупреждение об устаревании: текущий механизм обнаружения и мониторинга сервера устарел и будет удален в следующей версии. Чтобы использовать новый механизм обнаружения и мониторинга сервера, передайте опцию {useUnifiedTopology: true} конструктору MongoClient. Приложение работает на 4000 {database_error: MongoNetworkError: не удалось подключиться к серверу [localhost: 27017] при первом подключении [MongoError: Ошибка аутентификации. в Function._getError (/Users/bpav/vue/new_app/authapp/server/node_modules/mongodb/lib/core/auth/scram.js:141:14) в / Users / bpav / vue / new_app / authapp / server / node_modules / mongodb / lib / core / auth / scram. js: 191: 31 при _callback (/Users/bpav/vue/new_app/authapp/server/node_modules/mongodb/lib/core/connection/connect.js: 320: 5) в Connection.messageHandler (/Users/bpav/vue/new_app/authapp/server/node_modules/mongodb/lib/core/connection/connect.js:349:5) в Connection.emit ( events. js: 321: 20) в processMessage (/Users/bpav/vue/new_app/authapp/server/node_modules/mongodb/lib/core/connection/connection.js:384:10) в Socket. (/Users/bpav/vue/new_app/authapp/server/node_modules/mongodb/lib/core/connection/connection.js:553:15) в Socket.emit (события. js: 321: 20) в addChunk (_stream_readable. js: 305: 12) в readableAddChunk (_stream_readable. js: 280: 11) в Socket.Readable.pu sh (_stream_readable. js: 214: 10) в TCP.onStreamRead ( internal / stream_base_commons. js: 186: 23) {name: 'MongoError', [Symbol (mongoErrorContextSymbol)]: {}}] в пуле. (/Users/bpav/vue/new_app/authapp/server/node_modules/mongodb/lib/core/topologies/server.js:433:11) в Pool.emit (события. js: 321: 20) в /Users/bpav/vue/new_app/authapp/server/node_modules/mongodb/lib/core/connection/pool.js:577:14 в / Users / bpav / vue / new_app / authapp / server / node_modules / mongodb / lib / core / connection / pool. js: 1007: 11 при обратном вызове (/Users/bpav/vue/new_app/authapp/server/node_modules/mongodb/lib/core/connection/connect.js:93:5 ) в /Users/bpav/vue/new_app/authapp/server/node_modules/mongodb/lib/core/connection/connect.js:367:21 в / Users / bpav / vue / new_app / authapp / server / node_modules / mongodb / lib / core / auth / auth_provider. js: 66: 11 по адресу /Users/bpav/vue/new_app/authapp/server/node_modules/mongodb/lib/core/auth/scram.js:193:16 в _callback (/Users/bpav/vue/new_app/authapp/server/node_modules/mongodb/lib/core/connection/connect.js:320:5) в Connection.messageHandler (/ Users / bpav / vue / new_app / authapp / сервер / node_modules / MongoDB / Библиотека / ядро / соединение / соединение. * 1 038 *: 349: 5) в Connection.emit (события. js: 321: 20) в processMessage (/ Users / bpav / vue / new_app / authapp / сервер / node_modules / mongodb / lib / core / connection / connection. js: 384: 10) на сокете. (/Users/bpav/vue/new_app/authapp/server/node_modules/mongodb/lib/core/connection/connection.js:553:15) в Socket.emit (события. js: 321: 20) в addChunk (_stream_readable. js: 305: 12) в readableAddChunk (_stream_readable. js: 280: 11) {имя: 'MongoNetworkError', [Symbol (mongoErrorContextSymbol)]: {}}}
Есть шаблон, который я пропускаю или как это работает для этого случая? Я также попытался использовать пользователя + pw в строке подключения к базе данных, но он также не подключается должным образом - возможно, отсутствует имя базы данных для аутентификации?
Надеюсь, кто-то может указать мне правильное направление для этой простой проблемы.