node.js - nodejs cant connect to mongodb using mongoose
问题描述
so all my applications were working just fine using mongoose, all of a sudden they all stopped. i cant connect to my database. however my deployed apps using mongoose databases work fine, but i cant access to any database using my local computer. here is a test server ive written. can someone help me whats happening.
const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser')
const app = express();
app.use(express.json())
const db = require('./keys').mongoURI;
mongoose.connect(db, { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => console.log('connected'))
.catch(err => console.log(err))
const port = process.env.PORT || 5000;
app.listen(port, () => console.log('server running'))
module.exports = {
mongoURI: 'mongodb+srv://ertemishakk:<password>@cluster0-xi4zx.mongodb.net/test?retryWrites=true&w=majority'
}
Terminal: server running MongoTimeoutError: Server selection timed out after 30000 ms at Timeout._onTimeout (/Users/ishakertem/Desktop/test/node_modules/mongodb/lib/core/sdam/server_selection.js:308:9) at listOnTimeout (internal/timers.js:536:17) at processTimers (internal/timers.js:480:7) { name: 'MongoTimeoutError', }
解决方案
您可以遵循此代码我希望能解决您的问题
const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser')
const app = express();
app.use(express.json())
//Remove <password> and provide DB password
/**
* Example: mongodb + srv: //ertemishakk:123@cluster0-xi4zx.mongodb.net/test?retryWrites=true&w=majorit
*/
mongoose.connect('mongodb+srv://ertemishakk:<password>@cluster0-xi4zx.mongodb.net/test?retryWrites=true&w=majorit', {
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(() => console.log('connected'))
.catch(err => console.log(err))
const port = process.env.PORT || 5000;
app.listen(port, () => console.log('server running'))
推荐阅读
- angular - TS Lint 警告消息
- c# - UWP 文本框在收到文本时自动向下滚动
- python - 给定一个圆形排列的各种彩色球的数组,删除相同的连续彩色球并打印非连续彩色球
- hook - 如何在 Cucumber js 中配置“After”钩子的顺序?
- python - Selenium Chromedriver 没有导航到 url
- python - 循环并添加功能组件作为索引
- ubuntu - 无法为 Ubuntu 12.04 更新 Certbot 证书,一些索引文件下载失败
- typo3 - 如何在不编辑 config/sites/mysite/config.yaml 的情况下扩展 TYPO3 站点配置
- python - 确定点是否在移动(熊猫窗口函数)
- android - 如何在Android App中访问下载目录中的文件