Mongoose: MongoError: рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдлрд▓

рдХреЛ рдирд┐рд░реНрдорд┐рдд 2 рдЕрдХреНрддреВре░ 2016  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Automattic/mongoose

рдореЗрд░реЗ рдкрд╛рд╕ рдордВрдЧреЛрд▓рд╛рдм рдореЗрдВ рдореЛрдВрдЧреЛрдбрдм рд╣реИред
рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдХрдиреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реВрдВ

mongo uri/$db -u user -p pass

рдпрд╣ рдареАрдХ рд╣реИред
рдЕрдЧрд░ рдореИрдВ рдиреЗрд╡рд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реВрдВ

mongoose.connect('mongodb://${user}:${pass}@${uri}/${db}')

рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рд╣реИ

MongoError: Authentication failed

рдореИрдВ рдиреЗрд╡рд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ 4.6.1

needs clarification

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рдореНрдо рдпрд╣ рднреА рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ? MongoDB рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдбреАрдмреАрдПрд╕ рдХреЗ рджрд╛рдпрд░реЗ рд╡рд╛рд▓рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рд╡реЗ рдкрд╛рд░ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИ рдЖрдк рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ db рдЖрдк рдХреА рддрд░рд╣ рдХреБрдЫ рдбрд╛рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА mongoose.connect('mongodb://${user}:${pass}@${uri}/${db}?authSource=admin') рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 'рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ' рдбреАрдмреА рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рд╛рде рд╣реА, рдпрджрд┐ рдЖрдк mongodb 3.x рдкрд░ рд╣реИрдВ, рддреЛ рдЖрдк рд╢рд╛рдпрдж SCRAM-SHA-1 рдкреНрд░рдорд╛рдгрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рджреЛрдиреЛрдВ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

  • mongoose.connect('mongodb://${user}:${pass}@${uri}/${db}?authMechanism=SCRAM-SHA-1')
  • mongoose.connect('mongodb://${user}:${pass}@${uri}/${db}?authMechanism=MONGODB-CR')

рд╕рднреА 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╕рд╛рде рд╣реА, рдореИрдВрдиреЗ рдЬрд╛рдВрдЪ рдХреА рд╣реИ - рдмрдЧ 4.4.20 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рдХреНрдпрд╛ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдореЗрдВ рдХреЛрдИ рдЧреИрд░ рдЕрдХреНрд╖рд░рд╛рдВрдХреАрдп рд╡рд░реНрдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ? рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рдЕрддреАрдд рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд╕рд╛рде рд╕рд╛рдордиреЗ рдЖрдП рд╣реИрдВ рдЬреИрд╕реЗ: рдкрд╛рд╕рд╡рд░реНрдб рдореЗрдВ

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдиреЗрд╡рд▓рд╛ рдФрд░ рдореЛрдВрдЧреЛрдбрдм рдХрд╛ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг?

рдореЛрдВрдЧреЛрдбрдм 'v3'
рдирд╣реАрдВ, рдХреЛрдИ рдЧреИрд░-рдЕрд▓реНрдлрд╝рд╛рдиреНрдпреВрдореЗрд░рд┐рдХ рдкреНрд░рддреАрдХ рдирд╣реАрдВ рд╣реИред

рд╣рдореНрдо рдпрд╣ рднреА рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ? MongoDB рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдбреАрдмреАрдПрд╕ рдХреЗ рджрд╛рдпрд░реЗ рд╡рд╛рд▓рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рд╡реЗ рдкрд╛рд░ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИ рдЖрдк рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ db рдЖрдк рдХреА рддрд░рд╣ рдХреБрдЫ рдбрд╛рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА mongoose.connect('mongodb://${user}:${pass}@${uri}/${db}?authSource=admin') рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 'рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ' рдбреАрдмреА рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рд╛рде рд╣реА, рдпрджрд┐ рдЖрдк mongodb 3.x рдкрд░ рд╣реИрдВ, рддреЛ рдЖрдк рд╢рд╛рдпрдж SCRAM-SHA-1 рдкреНрд░рдорд╛рдгрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рджреЛрдиреЛрдВ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

  • mongoose.connect('mongodb://${user}:${pass}@${uri}/${db}?authMechanism=SCRAM-SHA-1')
  • mongoose.connect('mongodb://${user}:${pass}@${uri}/${db}?authMechanism=MONGODB-CR')

@ vkarpov15 , рд╣рд╛рдБ, рдЗрд╕рд╕реЗ рдорджрдж рдорд┐рд▓реА! рдЖрдкрдХрд╛ рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВрдиреЗ node.js рдХреЗ рд╕рд╛рде cloud.mongodb.com рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛ рд▓рд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдореИрдВрдиреЗ 2 рд╕рдлрд▓ рдХрдиреЗрдХреНрд╢рди рдХреНрдпреЛрдВ рдФрд░ рдХреИрд╕реЗ рдмрдирд╛рдП рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рдмрд╛рд░ рдХрдиреЗрдХреНрд╢рди рдЕрд╕рдлрд▓ рд░рд╣реЗред
image

рдХрдВрд╕реЛрд▓ рдореЗрдВ рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ

рд╕рд░реНрд╡рд░/рдкреНрд░рддрд┐рдХреГрддрд┐/рдореЛрдВрдЧреЛрд╕ рд╡рд┐рдХрд▓реНрдк рдмрд╣рд┐рд╖реНрдХреГрдд рд╣реИрдВ, рдЙрдирдХреЗ рд╕рднреА рд╡рд┐рдХрд▓реНрдк рд╡рд┐рдХрд▓реНрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ [рдкреВрд▓рд╕рд╛рдЗрдЬ, рдПрд╕рдПрд╕рдПрд▓, рдПрд╕рдПрд╕рдПрд▓ рд╡реИрд▓рд┐рдбреЗрдЯ, рдПрд╕рдПрд╕рдПрд▓рд╕реАрдП, рдПрд╕рдПрд╕рдПрд▓рд╕реАрд░реНрдЯ, рдПрд╕рдПрд╕рдПрд▓рдХреЗ, рдПрд╕рдПрд╕рдПрд▓рдкрд╛рд╕, рдПрд╕рдПрд╕рдПрд▓рд╕реАрдЖрд░рдПрд▓, рдСрдЯреЛ рд░реАрдХрдиреЗрдХреНрдЯ, рдиреЛрдбреЗрд▓, рдХреАрдкрдЕрд▓рд╛рдЗрд╡, рдХрдиреЗрдХреНрдЯрдЯрд╛рдЗрдордЖрдЙрдЯрдПрдордПрд╕, рдПрдлрдП
рдорд╛рдЗрд▓реА, рд╕реЙрдХреЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯрдПрдордПрд╕, рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЗрдВрдЯрд░рд╡рд▓, рд╣рд╛, рд╣реЗрдЗрдВрдЯрд░рд╡рд▓, рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ, рд╕реЗрдХреЗрдВрдбрд░реА рдПрдХреНрд╕реЗрдкреНрдЯреЗрдмрд▓ рд▓реЗрдЯреЗрдВрд╕реАрдПрдордПрд╕, рд╕реНрд╡реАрдХрд╛рд░реНрдп рд▓реЗрдЯреЗрдВрд╕реАрдПрдордПрд╕, рдХрдиреЗрдХреНрдЯрд╡рд┐рде рдиреЛ рдкреНрд░рд╛рдЗрдорд░реА, рдСрдерд╕реЛрд░реНрд╕, рдбрдмреНрд▓реНрдпреВ, рдбрдмреНрд▓реНрдпреВрдЯрд╛рдЗрдордЖрдЙрдЯ, рдЬреЗ, рдлреЛрд░реНрд╕рд╕реЗрд╡рд░рдСрдмреНрдЬреЗрдХреНрдЯрдЖрдИрдб, рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬ рдлрдВрдХреНрд╢рдиреНрд╕, рдЗрдЧреНрдиреЛрд░рдЕрдирдбрд┐рдлрд╛рдЗрдВрдб, рд░реЙ, рдмреВ
ferMaxEntries, readPreference, pkFactory, PromiseLibrary, readConcern, maxStalenessSeconds, loggerLevel, рд▓рдХрдбрд╝рд╣рд╛рд░рд╛, рдкреНрд░рдЪрд╛рд░рд┐рдд рдорд╛рди, рдмрдврд╝рд╛рд╡рд╛ рдмрдлрд╝рд░реНрд╕, рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдкреНрд░рдЪрд╛рд░рд┐рдд, рдбреЛрдореЗрди рд╕рдХреНрд╖рдо, KeepAliveInitialDelay, checkServerIdentity, ValidateOptions, appname, auth]

(рдиреЛрдб: 3268) UnhandledPromiseRejectionWarning: рдЕрдирдЪрд╛рд╣реЗ рд╡рд╛рджрд╛ рдЕрд╕реНрд╡реАрдХреГрддрд┐ (рдЕрд╕реНрд╡реАрдХреГрддрд┐ рдЖрдИрдбреА: 1): MongoError: рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдлрд▓
(рдиреЛрдб: 3268) рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдиреА: рд╣реИрдВрдбрд▓ рди рдХрд┐рдП рдЧрдП рд╡рд╛рджреЗ рдЕрд╕реНрд╡реАрдХрд░рдг рдмрд╣рд┐рд╖реНрдХреГрдд рд╣реИрдВред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╡рд╛рджрд╛ рдЕрд╕реНрд╡реАрдХрд░рдг рдЬреЛ рд╕рдВрднрд╛рд▓рд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ, рдЧреИрд░-рд╢реВрдиреНрдп рдирд┐рдХрд╛рд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде Node.js рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ред

рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛,

рдиреЗрд╡рд▓рд╛ v4.5.3
рдореЛрдВрдЧреЛрдбрдм рд╡реА3.4.7

рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢
MongoError: Authentication failed. 14|gougouS | at Function.MongoError.create (/www/website/gougouServer/source/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/error.js:31:11)

рдбреАрдмреА рдпреВрдЖрд░рдПрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рдмрд╕ ?authSource=yourDB&w=1 рдЬреЛрдбрд╝реЗрдВ

mongoose.connect('mongodb://user:password@host/yourDB?authSource=yourDB&w=1')
рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдоред &w=1 рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ

рдбреАрдмреА рдпреВрдЖрд░рдПрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рдмрд╕ ?authSource=yourDB&w=1 рдЬреЛрдбрд╝реЗрдВ

mongoose.connect('mongodb://user:password@host/yourDB?authSource=yourDB&w=1')
рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдоред &w=1 рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ

рдзрдиреНрдпрд╡рд╛рдж рдорд╣реЛрджрдпред :3 рдЕрдЪреНрдЫрд╛ рдЬрд╡рд╛рдм

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jeneser picture jeneser  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

p3x-robot picture p3x-robot  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ArThoX picture ArThoX  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

gustavomanolo picture gustavomanolo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

simonxca picture simonxca  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ