【问题标题】:Node project stuck at `starting node.js` won't connect to MongoDB卡在“启动 node.js”的节点项目将无法连接到 MongoDB
【发布时间】:2021-07-24 00:04:36
【问题描述】:

我正在关注 MERN 堆栈的教程,到目前为止我已经有了这段代码。

const app = express();
//setting up to send out requests
app.use(bodyparser.json({ limit: "30mb", extended: true }))
app.use(bodyparser.urlencoded({ limit: "30mb", extended: true }))
app.use(cors());

//credentials to database, this is just a test database so don't worry
const CONNECTIONURL = 'mongodb+srv://steve:1@test.lyt6y.mongodb.net/test?retryWrites=true&w=majority';
const PORT = process.env.PORT|| 5000;
// connecting to database 
mongoose.connect(CONNECTIONURL, { useNewUrlParser: true, useUnifiedTopology: true })
    .then(() => app.listen(PORT, () => console.log(`server is at port: ${PORT}`)))
    .catch(() => () => console.log(error.message));


mongoose.set('useFindAndModify', false);

当我运行 npm start 为该文件启动 nodemon 时,我在控制台中得到以下信息。

[nodemon] 2.0.7
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node index.js`
[nodemon] clean exit - waiting for changes before restart

我希望看到服务器启动的端口,或者至少是一条错误消息,但我也没有看到。我不确定出了什么问题,也没有任何错误可以为我指明正确的方向。

【问题讨论】:

  • 在线 Git 存储库最好不要链接到,除非它们是永久性的。使用在线代码运行程序,或者更好的是,确保您的问题是独立的。

标签: javascript node.js mongodb nodemon


【解决方案1】:

试试

const app = express();
//setting up to send out requests
app.use(express.json({ limit: "30mb", extended: true }))
app.use(express.urlencoded({ limit: "30mb", extended: true }))
app.use(cors());

//credentials to database, this is just a test database so don't worry
const CONNECTIONURL = 'mongodb+srv://steve:1@test.lyt6y.mongodb.net/test?retryWrites=true&w=majority';
const PORT = process.env.PORT|| 5000;
// connecting to database 
mongoose.connect(CONNECTIONURL, { useNewUrlParser: true, useUnifiedTopology: true })
    .then(() => console.log('DB started'))
    .catch(() => () => console.log(error.message));


mongoose.set('useFindAndModify', false);

app.listen(PORT, () => console.log(`server is at port: ${PORT}`))

【讨论】:

  • 这行得通,你到底改变了什么?
  • 您的数据库可能没有连接,因为当我尝试使用您的链接时它没有记录数据库启动,但它对我使用 localhost
  • 感谢您的帮助。
  • 如果您编写了有效的 mongodb url,即使您的原始代码也可以工作
  • 我在节点项目工作的地方,但我从来没有得到显示Db started 的控制台日志,这意味着它没有连接,但我也从来没有收到错误消息。你知道发生了什么吗?
猜你喜欢
  • 2016-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多