не удается подключиться к новому мастеру набора реплик

#javascript #mongodb

#язык JavaScript #mongodb

Вопрос:

Поэтому в моем приложении я могу подключиться к mongodb

 const mongoose = require('mongoose'); const dotenv = require('dotenv'); const app = require('./app');  dotenv.config({ path: './config.env' });  const DB = process.env.DATABASE.replace(  'lt;PASSWORDgt;',  process.env.DATABASE_PASSWORD );  mongoose  // .connect(process.env.DATABASE_LOCAL, {  .connect(DB, {  useNewUrlParser: true,  useCreateIndex: true,  useFindAndModify: false,  useUnifiedTopology: true,  })  .then(() =gt; {  console.log('DB connection successful!');  });  const tourSchema = new mongoose.Schema({  name: {  type: String,  required: [true, 'A tour must have a name'],  unique: true,  },  rating: {  type: Number,  default: 4.5,  },  price: {  type: Number,  required: [true, 'A tour must have a price'],  }, });  const Tour = mongoose.model('Tour', tourSchema);  const testTour = new Tour({  name: 'Meteora tour',  rating: 4.9,  price: 189, });  testTour  .save()  .then((doc) =gt; {  console.log(doc);  })  .catch((err) =gt; {  console.log('Error');  });  const port = process.env.PORT || 3000; app.listen(port, () =gt; {  console.log(`App running on port ${port}...`); });  

И, как вы видите в logcat, соединение выполнено успешно, и тестовый объект сохранен.

 App running on port 8000... DB connection successful! {  rating: 4.9,  _id: 61a67242927cc71a57b2a49f,  name: 'Meteora tour',  price: 189,  __v: 0 }  

Вот мой файл env.

 NODE_ENV=development PORT=8000 USERNAME=Theo DATABASE=mongodb srv://Theo:lt;PASSWORDgt;@cluster0.5k97r.mongodb.net/natours?retryWrites=trueamp;w=majority DATABASE_LOCAL=mongodb://localhost:27107/natours DATABASE_PASSWORD=...  

Теперь я хочу попробовать что-то другое. Я хочу запустить mongodb из терминала. Поэтому я печатаю

 mongo "mongodb srv://cluster0.5k97r.mongodb.net/natours" --username Theo  

но я получаю это обратно

 connecting to: mongodb://cluster0-shard-00-00.5k97r.mongodb.net:27017,cluster0- shard-00-01.5k97r.mongodb.net:27017,cluster0-shard-00-02.5k97r.mongodb.net:27017/natours?authSource=adminamp;compressors=disabledamp;gssapiServiceName=mongodbamp;replicaSet=atlas-axen7p-shard-0amp;ssl=true   *** It looks like this is a MongoDB Atlas cluster. Please ensure that your IP whitelist allows connections from your network.  Error: can't connect to new replica set master [cluster0-shard-00-02.5k97r.mongodb.net:27017], err: AuthenticationFailed: bad auth : Authentication failed. : connect@src/mongo/shell/mongo.js:362:17 @(connect):2:6 exception: connect failed exiting with code 1  

Как это возможно? В моем приложении у меня нет проблем с подключением в MongoDB Atlas. Я внес свой IP-адрес в белый список.

Спасибо, Тео.