Próbuję utworzyć aplikację fullstack, czytając następujący samouczek:
Wykonałem wszystkie kroki, a następnie próbowałem uruchomić:
node server.js
Ale dostałem następujący błąd:
Błąd połączenia MongoDB: MongoTimeoutError: Upłynął limit czasu wyboru serwera po 30000 ms w Timeout._onTimeout (C: \ RND \ fullstack_app \ backend \ node_modules \ mongodb \ lib \ core \ sdam \ server_selection.js: 308: 9) at listOnTimeout (wewnętrzny / timers.js: 531: 17) w processTimers (Internal / timers.js: 475: 7) {name: 'MongoTimeoutError', przyczyna: Błąd: podłącz ETIMEDOUT 99.80.11.208:27017 w TCPConnectWrap.afterConnect [as oncomplete] (netto. js: 1128: 14) {nazwa: „MongoNetworkError”, [Symbol (mongoErrorContextSymbol)]: {}}, [Symbol (mongoErrorContextSymbol)]: {}} (węzeł: 42892) UnhandledPromiseRejectionWarning: MongoTimeoutError: Upłynął limit czasu wyboru serwera 30000 at Timeout._onTimeout (C: \ RND \ fullstack_app \ backend \ node_modules \ mongodb \ lib \ core \ sdam \ server_selection.js: 308:9) w listOnTimeout (wewnętrzny / timers.js: 531: 17) w processTimers (wewnętrzny / timers.js: 475: 7)
Mój kod na server.js jest następujący:
const mongoose = require('mongoose');
const router = express.Router();
// this is our MongoDB database
const dbRoute =
'mongodb+srv://user:<password>@cluster0-3zrv8.mongodb.net/test?retryWrites=true&w=majority';
mongoose.Promise = global.Promise;
// connects our back end code with the database
mongoose.connect(dbRoute,
{ useNewUrlParser: true,
useUnifiedTopology: true
});
let db = mongoose.connection;
db.once('open', () => console.log('connected to the database'));
Jakieś sugestie?
user:password
dousername and password
ciągu połączenia w?