Mongoose: ์‚ฌ์šฉ์ž๊ฐ€ Db.prototype.authenticate๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด URI๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ authenticate () ๋Œ€์‹  MongoClient.connect ()๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

์— ๋งŒ๋“  2017๋…„ 05์›” 28์ผ  ยท  34์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Automattic/mongoose

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ฐ๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

var Mongoose = require('mongoose');
connectionUrl = mongodb://some_login:some_pwd<strong i="6">@some_host</strong>:27017/some_db?authSource=admin
Mongoose.connect(connectionUrl); 

... ๋ฌธ์„œ ์— ๋‚˜์™€ ์žˆ์ง€๋งŒ NodeJS ์ฝ˜์†”์— ๋‹ค์Œ ๊ฒฝ๊ณ  ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

Db.prototype.authenticate method will no longer be available 
in the next major release 3.x as MongoDB 3.6 will only allow auth 
against users in the admin db and will no longer allow multiple credentials on a socket. 
Please authenticate using MongoClient.connect with auth credentials.

Connection with database succeeded.

( ?authSource=admin ์ƒ๋žตํ•˜๋ฉด ์ธ์ฆ ์‹คํŒจ)

์ด ๋‹จ๊ณ„์—์„œ ์ •์ƒ์ž…๋‹ˆ๊นŒ (๋‹ค์Œ ๋ชฝ๊ตฌ์Šค ๋ฆด๋ฆฌ์Šค๋ฅผ ๊ธฐ๋‹ค๋ ค์•ผํ•ฉ๋‹ˆ๊นŒ?).๋˜๋Š” ์ง€๊ธˆ๋ถ€ํ„ฐ ๋ฌด์—‡์„ ๋ณ€๊ฒฝํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

๋ฒ„์ „ :

๋…ธ๋“œ : 7.10.0
๋ชฝ๊ตฌ์Šค : 4.10.3
MongoDB : 3.4

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

confirmed-bug underlying library issue

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‹จ์ง€ +1 ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•˜์ง€ ๋งˆ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์ด ๋ธŒ๋ ˆ์ดํ‚น ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ๋ช…์‹œํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ confirmed-bug ๋กœ ํ‘œ์‹œํ•˜๊ณ  mongoose 4.11๊นŒ์ง€ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹จ์ˆœํžˆ ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€์ด๋ฉฐ, ์Œ์†Œ๊ฑฐ๋ฅผ ์›ํ•  ๊ฒฝ์šฐ mongodb ๋กœ๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆจ๊ธธ ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•๋„ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์—ฐํ•œ ๋ง์€ ์•„๋‹ˆ์ง€๋งŒ, +1 ๋ฉ”์‹œ์ง€๋Š” ๋‹จ์ˆœํžˆ๋ฐ›์€ ํŽธ์ง€ํ•จ์œผ๋กœ ๊ฐ€๋“ ์ฐจ์„œ ์Šค๋ ˆ๋“œ๋ฅผ ์ฝ์„ ๋•Œ ํŠนํžˆ ์„ฑ๊ฐ€ ์‹œ๊ฒŒ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Œ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋ชจ๋“  34 ๋Œ“๊ธ€

+1

+1

+1
๋งฅ OS X 10.12.5
๋…ธ๋“œ : v7.10.0
๋ชฝ๊ตฌ์Šค : 4.10.3
MongoDB v3.4.4

+1

yup๋Š” ์‹ค์ œ๋กœ db๋ฅผ ํ„ฐ์น˜ํ•˜์—ฌ (์“ฐ๊ธฐ์™€ ๊ฐ™์€) ์ž‘์—…์„ ์ˆ˜ํ–‰ ํ•œ ํ›„์— ๋งŒ โ€‹โ€‹๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

gh_5304 (๋™์ผํ•œ ์•”ํ˜ธ ์‚ฌ์šฉ)๋ผ๋Š” ๊ด€๋ฆฌ์ž ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‚ฌ์šฉ์ž๋ฅผ ๋งŒ๋“ค๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ dbAdminAnyDatabase ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ ๋‹ค์Œ gh-5304 ์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ ๋ฌธ์ž์—ด์—์„œ ํ•ด๋‹น ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด ์ธ์ฆํ–ˆ์Šต๋‹ˆ๋‹ค. admin ํ…Œ์ด๋ธ”์„ authSource๋กœ ์ง€์ •ํ•˜๋Š” ํ…Œ์ด๋ธ” :

const mongoose = require('mongoose');
const co = require('co');
mongoose.Promise = global.Promise;
const GITHUB_ISSUE = `gh-5304`;


exec()
  .then(() => {
    console.log('successfully ran program');
    process.exit(0);
  })
  .catch(error => {
    console.error(`Error: ${ error }\n${ error.stack }`);
  });


function exec() {
  return co(function*() {
    const db = mongoose.connect(`mongodb://gh_5304:gh_5304<strong i="11">@localhost</strong>:27017/${ GITHUB_ISSUE }?authSource=admin`);

    const schema = new mongoose.Schema({ name: String });

    const Model = db.model('Model', schema);

    const doc = yield Model.create({ name: 'Test' });
  });
}

๋กœ๊ทธ ์ถœ๋ ฅ :

Db.prototype.authenticate method will no longer be available in the next major release 3.x
as MongoDB 3.6 will only allow auth against users in the admin db and will no longer allow
multiple credentials on a socket. Please authenticate using MongoClient.connect with auth c
redentials.
successfully ran program

๋‚˜๋Š” ์ด๊ฒƒ์„ "๋ฒ„๊ทธ"๋กœ ํ‘œ์‹œ ํ•  ๊ฒƒ์ด๋‹ค. ๋น„๋ก ๋‚ด๊ฐ€ ์ด๊ฒƒ์„ ๋ฌด์—‡์œผ๋กœ ์„ค๋ช… ํ•  ๊ฒƒ์ธ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ. ์ฃผ์˜ํ•ด์•ผ ํ•  ๊ฒฝ๊ณ ์ž…๋‹ˆ๋‹ค ...

authSource ๋ฌธ์ œ๋Š” ์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘ atm์ž…๋‹ˆ๋‹ค. some_db ์—ฐ๊ฒฐ ์ค‘์ด๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ some_db ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ •์˜๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ authSource ์„ ์ง€์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค

Re : ๊ฒฝ๊ณ , ์ด๊ฒƒ์€ ๋ชฝ๊ตฌ์Šค ์ธ์ฆ์ด ํ˜„์žฌ ์ž‘๋™ํ•˜๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹ ์ค‘ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. MongoClient.connect ()์—์„œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ง€์ •ํ•˜๋”๋ผ๋„ mongoose๋Š” ์—ฌ์ „ํžˆ ๋‚ด๋ถ€์ ์œผ๋กœ authenticate() ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ณ„ํš์€ URI ๋งŒ ์ œ๊ณตํ•˜๋ฉด 4.11์—์„œ MongoClient.connect() ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋กํ•˜๊ณ  ํ˜ธ์ŠคํŠธ, ์‚ฌ์šฉ์ž ๋“ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ mongoose์˜ ๋‚ด๋ถ€ ์—ฐ๊ฒฐ ๋…ผ๋ฆฌ๋กœ ๋Œ€์ฒดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

4.11๊นŒ์ง€๋Š”์ด ๊ฒฝ๊ณ ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์•„๋Š” ํ•œ, MongoDB 3.6 ๋ฐ MongoDB ๋“œ๋ผ์ด๋ฒ„ 3.0์€ ์˜ฌํ•ด ๋ง๊นŒ์ง€ ์ถœ์‹œ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์œผ๋ฉฐ ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์—๋Š” ์ตœ์ข… ์‚ฌ์šฉ์ž ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‹ต๋ณ€์„ ์œ„ํ•ด @varunjayaraman @ vkarpov15 ์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.)

๋ˆ„๊ตฌ๋“ ์ง€์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋น„ํ™œ์„ฑํ™” / ์ˆจ๊ธฐ๊ธฐ ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑ ํ•  ๋•Œ ๊ณ„์† ํ‘œ์‹œ๋˜๊ณ  ์‹ ๊ฒฝ์ด ์“ฐ์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค! ๐Ÿ˜…

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชฝ๊ตฌ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ• ์ง€ ๋ง์•„์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

+1

์—ฌ๊ธฐ์— ๊ฐ™์€ ๋ฌธ์ œ

+1

+1
๋ชฝ๊ตฌ์Šค : 4.10.3
MongoDB v3.4

4.11๊นŒ์ง€ mongodb ๋“œ๋ผ์ด๋ฒ„์—์„œ ๊ฒฝ๊ณ ๋ฅผ ๋„๋ ค๋ฉด ์—ฌ๊ธฐ ๋‹จ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  mongoose์˜ ๊ธฐ๋ณธ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ฑฐ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

http://mongodb.github.io/node-mongodb-native/2.2/reference/management/logging/

๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ดœ์ฐฎ์„ ๊ฒƒ์ด๊ณ  ๋ฌธ์ œ๋Š” 4.11 ์—์„œ ํ•ด๊ฒฐ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

+1

const ๋ชฝ๊ตฌ์Šค = require ( 'mongoose');
var db = mongoose.connect ( "mongodb : // saiganesh : [email protected] : 61121 / tester");

var Scheme = mongoose.Schema ({
์ œ๋ชฉ : ๋ฌธ์ž์—ด,
์ €์ž : String,
๋ณธ๋ฌธ : ๋ฌธ์ž์—ด,
์ฃผ์„ : [{๋ณธ๋ฌธ : ๋ฌธ์ž์—ด, ๋‚ ์งœ : ๋‚ ์งœ}],
๋‚ ์งœ : {์œ ํ˜• : ๋‚ ์งœ, ๊ธฐ๋ณธ๊ฐ’ : Date.now},
์ˆจ๊น€ : ๋ถ€์šธ,
๋ฉ”ํƒ€ : {
ํˆฌํ‘œ : ๋ฒˆํ˜ธ,
favs : ๋ฒˆํ˜ธ
}
});
module.exports = db.model ( 'mongodb', Scheme);

var BlogPost = require ( "./ models / mongodb.js");

// ์ƒˆ ๋ชจ๋ธ ์ƒ์„ฑ
var post = new BlogPost ({title : "๋‚ด ์ฒซ ๊ฒŒ์‹œ๋ฌผ", ์ž‘์„ฑ์ž : "saiganesh",
body : "๋ฌธ์„œ๋ฅผ ์“ธ๋ชจ ์—†๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค"});

post.save (function (err) {
if (err) {
๋ฐ˜ํ™˜ ์˜ค๋ฅ˜;
}
else {
console.log ( "๊ฒŒ์‹œ๋ฌผ ์ €์žฅ ๋จ");
}
});

์˜ค๋ฅ˜:

node .index.js (node โ€‹โ€‹: 2604) DeprecationWarning : Mongoose : mpromise (mongoose 's de
๊ฒฐํ•จ ์•ฝ์† ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์ž์‹ ์˜ ์•ฝ์† ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์—ฐ๊ฒฐํ•˜์‹ญ์‹œ์˜ค. http://mongoosejs.com/docs/promises.html
MongoDB 3.6์€ ๊ด€๋ฆฌ์ž์˜ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ธ์ฆ ๋งŒ ํ—ˆ์šฉํ•˜๋ฏ€๋กœ Db.prototype.authenticate ๋ฉ”์„œ๋“œ๋Š” ๋‹ค์Œ ์ฃผ ๋ฆด๋ฆฌ์Šค 3.x์—์„œ ๋” ์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
db์ด๋ฉฐ ๋” ์ด์ƒ ์†Œ์ผ“์—์„œ ์—ฌ๋Ÿฌ ์ž๊ฒฉ ์ฆ๋ช…์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. MongoClient.connect๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ ์ž๊ฒฉ ์ฆ๋ช…์œผ๋กœ ์ธ์ฆํ•˜์‹ญ์‹œ์˜ค.

events.js : 160
์–ด ๋˜์ ธ; // ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์€ '์˜ค๋ฅ˜'์ด๋ฒคํŠธ
^
MongoError : ์ธ์ฆ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.
Function.MongoError.create (C : UserssaiganeshDesktopsocket.io-masterexampleschatmongoosedbnode_modulesmongodb-coreliberror.js : 31 : 11)
C : UserssaiganeshDesktopsocket.io-masterexampleschatmongoosedbnode_modulesmongodb-corelibconnectionpool.js : 497 : 72
authenticateStragglers์—์„œ (C : UserssaiganeshDesktopsocket.io-masterexampleschatmongoosedbnode_modulesmongodb-corelibconnectionpool.js : 443 :
16)
Connection.messageHandler (C : UserssaiganeshDesktopsocket.io-masterexampleschatmongoosedbnode_modulesmongodb-corelibconnectionpool.js : 4
77 : 5)
์†Œ์ผ“์—์„œ.(C : UserssaiganeshDesktopsocket.io-masterexampleschatmongoosedbnode_modulesmongodb-corelibconnectionconnection.js : 32
1:22)
emitOne (events.js : 96 : 13)
Socket.emit (events.js : 188 : 7)
readableAddChunk (_stream_readable.js : 176 : 18)
Socket.Readable.push (_stream_Readable.js : 134 : 10)
TCP.onread (net.js : 548 : 20)

์ด ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์–ด๋–ค MongoDB ๋ฐ Mongoose ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

์ด๊ฒƒ์€ ๋ฒ„๊ทธ ๋งž์Šต๋‹ˆ๊นŒ?

๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. MongoDB ์…ธ ๋ฒ„์ „ v3.4.2
ํŒจํ‚ค์ง€ json์˜ ์ข…์†์„ฑ : "mongodb": "^ 2.2.28", "mongoose": "^ 4.10.4"

"mongoose": "~ 4.10.2"๋Š” ์ผ์ž…๋‹ˆ๋‹ค!

์ด์ œ node_module ํด๋”๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๊ณ ์ • ๋œ ์ด์ „ ๋ฒ„์ „ "mongoose": "4.10.2"๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก package.json์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. npm ์„ค์น˜ ํ›„ ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

โ”œโ”€โ”ฌ [email protected] โ”‚ โ””โ”€โ”€ [email protected] โ””โ”€โ”ฌ [email protected] โ””โ”€โ”ฌ [email protected] โ””โ”€โ”€ [email protected]
์ด๊ฒƒ์ด ์ข‹์€ ์ ‘๊ทผ๋ฒ•์ด ์•„๋‹๊นŒ ๋‘๋ ต์Šต๋‹ˆ๋‹ค. ์ตœ์‹  mongoose์™€ mongo ์†Œํ”„ํŠธ์›จ์–ด ์‚ฌ์ด์— ํ˜ธํ™˜์„ฑ์ด ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ, ๋‹ค์Œ ๋ฒ„์ „์ด ๋  ์ˆ˜์žˆ๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ง€ +1 ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•˜์ง€ ๋งˆ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์ด ๋ธŒ๋ ˆ์ดํ‚น ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ๋ช…์‹œํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ confirmed-bug ๋กœ ํ‘œ์‹œํ•˜๊ณ  mongoose 4.11๊นŒ์ง€ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹จ์ˆœํžˆ ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€์ด๋ฉฐ, ์Œ์†Œ๊ฑฐ๋ฅผ ์›ํ•  ๊ฒฝ์šฐ mongodb ๋กœ๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆจ๊ธธ ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•๋„ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์—ฐํ•œ ๋ง์€ ์•„๋‹ˆ์ง€๋งŒ, +1 ๋ฉ”์‹œ์ง€๋Š” ๋‹จ์ˆœํžˆ๋ฐ›์€ ํŽธ์ง€ํ•จ์œผ๋กœ ๊ฐ€๋“ ์ฐจ์„œ ์Šค๋ ˆ๋“œ๋ฅผ ์ฝ์„ ๋•Œ ํŠนํžˆ ์„ฑ๊ฐ€ ์‹œ๊ฒŒ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Œ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ๋ฌธ์ œ @msaiganesh์— ๊ด€ํ•ด์„œ ๋Š” db ์ธ์ฆ๊ณผ ๊ด€๋ จ๋œ ๋ณ„๋„์˜ ๋ฌธ์ œ๊ฐ€๋ฉ๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ๋ฌธ์ œ๋ฅผ ์—ด์–ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

+2 (๋‚˜์™€ ๋‚ด ๋™๋ฃŒ)

"๋ชฝ๊ตฌ์Šค": "^ 4.10.4"

์ด ์˜ค๋ฅ˜๋„ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹Œ ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€ ์ผ ๋ฟ์ด๋ฉฐ ๊ณ„์† ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉํ•ดํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

Db.prototype.authenticate ๋ฉ”์„œ๋“œ๋Š” MongoDB 3.6์ด admin db์˜ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ธ์ฆ ๋งŒ ํ—ˆ์šฉํ•˜๊ณ  ์†Œ์ผ“์—์„œ ๋” ์ด์ƒ ์—ฌ๋Ÿฌ ์ž๊ฒฉ ์ฆ๋ช…์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋‹ค์Œ ๋ฉ”์ด์ € ๋ฆด๋ฆฌ์Šค 3.x์—์„œ ๋” ์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. MongoClient.connect๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ ์ž๊ฒฉ ์ฆ๋ช…์œผ๋กœ ์ธ์ฆํ•˜์‹ญ์‹œ์˜ค.

๋ชฝ๊ตฌ์Šค๋กœ mlab ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์˜ ๋ชฝ๊ตฌ์Šค๋ฅผ ์„ค์น˜ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

MEAN ์•ฑ์—์„œ npm start๋ฅผ ์‹คํ–‰ํ•  ๋•Œ์ด ์˜ค๋ฅ˜๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋“ ์ง€ ๋„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด๋ฏธ ๋‹ต๋ณ€ ๋œ ์งˆ๋ฌธ์„ ๋ณด๋‚ด๊ณ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ตฌ๋… ํ•œ ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ์šฐ์—ฐํžˆ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๊ธฐ ์ „์— ๋ฌธ์ œ ์ „์ฒด๋ฅผ ์ฝ์œผ์‹ญ์‹œ์˜ค.

๋‚˜๋Š” ๋‹น์‹ ์ด ๊ทธ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค @JonathanBristow

๋‚˜๋Š” v read these comments in this page but I still can ์ด ๋ฌธ์ œ๋ฅผ ๊ณ ์น˜์ง€ ์•Š๋Š”๋‹ค !! ๋‚ด ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•ด ์ฃผ ์‹œ๊ฒ ์–ด์š”?

์ด๊ฒƒ์€ ๋‚ด ์—ฐ๊ฒฐ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

mongoose.Promise = require ( 'bluebird');
mongoose.connect ( "mongodb : //:@ cluster0-shard-00-00-xlnqd.mongodb. net : 27017 , cluster0-shard-00-01-xlnqd.mongodb. net : 27017 , cluster0-shard-00-02-xlnqd.mongodb. ๊ทธ๋ฌผ : 27017 /? ssl = true & replicaSet = Cluster0-shard-0 & authSource = admin ", function (err) {
if (err) {
console.log (err);
} else {
console.log ( '๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์„ฑ๊ณต์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.');
}
});

์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.
"Db.prototype.authenticate ๋ฉ”์†Œ๋“œ๋Š” ๋‹ค์Œ ๋ฒ„์ „์—์„œ ๋” ์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
MongoDB 3.6๊ณผ ๊ฐ™์€ ์ฃผ์š” ๋ฆด๋ฆฌ์Šค 3.x๋Š” ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ธ์ฆ ๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
admin db์ด๋ฉฐ ๋” ์ด์ƒ ์†Œ์ผ“์—์„œ ์—ฌ๋Ÿฌ ์ž๊ฒฉ ์ฆ๋ช…์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ถ€๋””
MongoClient.connect๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ ์ž๊ฒฉ ์ฆ๋ช…์œผ๋กœ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค. "

@thinkdiff ... warning ์ด ์•„๋‹ˆ๋ผ error ์ž…๋‹ˆ๋‹ค. ๊ฒฝ๊ณ ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์†์ƒ์‹œํ‚ค์ง€ ์•Š์„ ๊ฒƒ์ž„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์˜์–ด๋กœ : ๊ตฌ์กฐ์ ์œผ๋กœ ์ž˜๋ชป๋œ ๊ฒƒ์€ ์—†์Šต๋‹ˆ๋‹ค. ๊ฑฑ์ •ํ•˜์ง€ ๋งˆ์„ธ์š”.

์ŠคํŒธ์ด ๊ณ„์†๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ผ์‹œ์ ์œผ๋กœ์ด ๋ฌธ์ œ๋ฅผ ์ž ๊ทธ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 4.11์—์„œ์ด ๊ฒฝ๊ณ ๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ์˜ต์…˜์ด ์žˆ์œผ๋ฉฐ, ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ง€์—ฐ์„ ์ œ์™ธํ•˜๊ณ  ์ด๋ฒˆ ์ฃผ์— ๋ฆด๋ฆฌ์Šค ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. 4.10.x์—์„œ๋Š”์ด ๊ฒฝ๊ณ ๋ฅผ ์šฐํšŒ ํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค. ์–‘ํ•ด ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰