mongoose подключается только к localhost

#node.js #mongodb #express #mongoose

#node.js #mongodb #экспресс #mongoose

Вопрос:

Я всегда получаю «Прослушивание на локальном хосте», но URL, который я ввел, взят из Mongo Atlas. И когда я печатаю переменную среды на консоль, я получаю ее правильно. mongoose автоматически игнорирует любой URL, кроме localhost.

Я пытался перезапустить nodemon несколько раз.

 mongoose
  .connect(process.env.DATABASE_URL, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  })
  .then(() => {
    console.log(process.env.DATABASE_URL); //prints the correct url but mongoose connects to localhost
    console.log("mongo connected");
    // logEntry.collection.drop();
  })
  .catch((error) => console.log(error.message));
  

Ответ №1:

проверьте соединение, используя приведенный ниже фрагмент кода.

 const express = require('express');
const app = express();
const socketio = require('socket.io');
const mongoose = require('mongoose');

const expressServer = app.listen(3001);
const io = socketio(expressServer);
mongoose.connect('mongodb srv://<UserName>:<Password>@democluster0.abcde.mongodb.net?retryWrites=trueamp;w=majority');

mongoose.connection.on('open', function (ref) {
    console.log('Connected to mongo server.');

    mongoose.connection.db.listCollections().toArray(function (err, names) {
        console.log(names);
    });
})
  

Обратитесь к ссылке ниже, чтобы получить URL-адрес для того же..

https://docs.atlas.mongodb.com/tutorial/connect-to-your-cluster/

Комментарии:

1. Я запустил этот код вместо своего и все еще … «Прослушивание на локальном хосте»

2. Как выполняется проверка того же самого?? Не могли бы вы поделиться скриншотами?

3. Мой плохой, я только что увидел, что он подключен к правильной базе данных. и да, я видел проверку с именем базы данных. вероятно, проблема с кэшированием. Спасибо.

4. 👍 Хорошее обучение!!