mongolab์ mongodb๊ฐ ์์ต๋๋ค.
๋ช
๋ น์ผ๋ก ์ฐ๊ฒฐํ๋ฉด
mongo uri/$db -u user -p pass
๊ด์ฐฎ์์.
๋ชฝ๊ตฌ์ค๋ฅผ ์ฌ์ฉํ๊ณ ๋ค์์ผ๋ก ์ฐ๊ฒฐํ๋ฉด
mongoose.connect('mongodb://${user}:${pass}@${uri}/${db}')
์ค๋ฅ๊ฐ ์์ต๋๋ค
MongoError: Authentication failed
๋๋ ๋ชฝ๊ตฌ์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค 4.6.1
๋ํ 4.4.20
๋ฒ์ ์์๋ ๋ฒ๊ทธ๊ฐ ์ฌํ๋์ง ์๋์ง ํ์ธํ์ต๋๋ค. ์ ๋๋ก ์๋ํฉ๋๋ค
์ฌ์ฉ์ ์ด๋ฆ๊ณผ ๋น๋ฐ๋ฒํธ์ ์์ซ์๊ฐ ์๋ ๋ฌธ์๊ฐ ํฌํจ๋์ด ์์ต๋๊น? ๋น๋ฐ๋ฒํธ์์ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์๋ฅผ ์ฒ๋ฆฌํ ๋ ์ ์ฌํ ๋ฌธ์ ๊ฐ ๊ณผ๊ฑฐ์ ๋ํ๋ฌ์ต๋๋ค.
๋ํ mongoose์ mongodb์ ๋ฒ์ ์ ๋ฌด์์ ๋๊น?
๋ชฝ๊ณ DB 'v3'
์๋์ค, ์์ซ์๊ฐ ์๋ ๊ธฐํธ๋ ์์ต๋๋ค.
ํ ๋ํ ์ฌ์ฉ์๊ฐ ์ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฌด์์
๋๊น? MongoDB ์ฌ์ฉ์๋ ํฌ๋ก์ค db ๊ถํ์ด ์๋๋ผ๋ dbs๋ก ๋ฒ์๊ฐ ์ง์ ๋๋ฏ๋ก ์ฌ์ฉ์๊ฐ db
์ ์ ์๋์ด ์์ง ์์ผ๋ฉด mongoose.connect('mongodb://${user}:${pass}@${uri}/${db}?authSource=admin')
์ ๊ฐ์ ํญ๋ชฉ์ ๋ฃ์ด์ผ ํฉ๋๋ค. 'admin' db์ ์ ์๋์ด ์์ต๋๋ค.
๋ํ 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๋ฒ์ ์ฑ๊ณต์ ์ธ ์ฐ๊ฒฐ์ ๋ง๋ ์ด์ ์ ๋ฐฉ๋ฒ์ ์ดํดํ์ง ๋ชปํ์ง๋ง ๋ค๋ฅธ ์๊ฐ์๋ ์ฐ๊ฒฐ์ด ์คํจํ์ต๋๋ค.
์ฝ์์์ ๋๋ ๋ณธ๋ค
server/replset/mongos ์ต์
์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ๋ชจ๋ ์ต์
์ ์ต์
๊ฐ์ฒด์ ์ต์์ ์์ค์์ ์ง์๋ฉ๋๋ค. [poolSize,ssl,sslValidate,sslCA,sslCert,sslKey,sslPass,sslCRL,autoReconnect,noDelay,keepAlive,connectTimeoutMS,fa
mily,socketTimeoutMS,reconnectTries,reconnectInterval,ha,haInterval,replicaSet,secondaryAcceptableLatencyMS,acceptableLatencyMS,connectWithNoPrimary,authSource,w,wtimeout,j,forceServerObjectId,serializeFunctions,ignoreUndefined,raw,bu
fferMaxEntries,readPreference,pkFactory,promiseLibrary,readConcern,maxStalenessSeconds,loggerLevel,logger,promoteValues,promoteBuffers,promoteLongs,domainsEnabled,keepAliveInitialDelay,checkServerIdentity,validateOptions,appname,auth]
(node:3268) UnhandledPromiseRejectionWarning: ์ฒ๋ฆฌ๋์ง ์์ Promise Rejection (rejection id: 1): MongoError: ์ธ์ฆ ์คํจ
(node:3268) DeprecationWarning: ์ฒ๋ฆฌ๋์ง ์์ ์ฝ์ ๊ฑฐ๋ถ๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ์์ผ๋ก ์ฒ๋ฆฌ๋์ง ์์ ์ฝ์ ๊ฑฐ๋ถ๋ 0์ด ์๋ ์ข
๋ฃ ์ฝ๋๋ก Node.js ํ๋ก์ธ์ค๋ฅผ ์ข
๋ฃํฉ๋๋ค.
๋๋ ๊ทธ๊ฒ์ ์๋ํ์ง๋ง ์๋ํ์ง ์์ต๋๋ค,
๋ชฝ๊ตฌ์ค v4.5.3
๋ชฝ๊ณ DB v3.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)
db URL ๋์ ?authSource=yourDB&w=1
๋ฅผ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
mongoose.connect('mongodb://user:password@host/yourDB?authSource=yourDB&w=1')
๋๋ฅผ ์ํ ์ด ์ํ. &w=1
์ค์
db URL ๋์
?authSource=yourDB&w=1
๋ฅผ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
mongoose.connect('mongodb://user:password@host/yourDB?authSource=yourDB&w=1')
๋๋ฅผ ์ํ ์ด ์ํ.&w=1
์ค์
๊ฐ์ฌํฉ๋๋ค. :3 ์ข์ ๋ต๋ณ
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
ํ ๋ํ ์ฌ์ฉ์๊ฐ ์ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฌด์์ ๋๊น? MongoDB ์ฌ์ฉ์๋ ํฌ๋ก์ค db ๊ถํ์ด ์๋๋ผ๋ dbs๋ก ๋ฒ์๊ฐ ์ง์ ๋๋ฏ๋ก ์ฌ์ฉ์๊ฐ
db
์ ์ ์๋์ด ์์ง ์์ผ๋ฉดmongoose.connect('mongodb://${user}:${pass}@${uri}/${db}?authSource=admin')
์ ๊ฐ์ ํญ๋ชฉ์ ๋ฃ์ด์ผ ํฉ๋๋ค. 'admin' db์ ์ ์๋์ด ์์ต๋๋ค.๋ํ 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')