节点 js 无法使用猫鼬连接到我的数据库

Node js can't connect to my database using mongoose

我正在尝试使用超级终端连接到我的 mongodb 数据库(使用 mongoose 创建),当我使用 node app.js 尝试使用超级终端连接到数据库时,我的终端只是冻结并且 return 没有响应,直到我按 ctrl c 退出并 return 到上一行。

我的猫鼬代码如下所示:

const mongoose = require('mongoose');

mongoose.connect('mongodb://127.0.0.1:27017/fruitsDB');

请注意。我已经通过在终端中使用 mongod 连接到 mongodb 服务器,并且我还 cd 到 app.js 在 [=33= 之前我的电脑上的文件夹目录]终端node app.js

我终端的屏幕截图hyerterminal code screen

我需要你的帮助。谢谢

我相信您的终端没有被冻结,只是您的代码中没有控制台输出。您正在连接到 Mongoose 然后什么都不做。

这里有一些建议,

您可以使用回调来检查连接是否已连接,

mongoose.connect('mongodb://127.0.0.1:27017/fruitsDB').then(
  () => { 
     console.log("Connected to DB!");
 },
  err => { 
    console.log(err);
 }
);

添加一些事件处理程序来检查您的连接是否正常,

mongoose.connection.on('open', function(){
  console.log("Connection to Mongo DB is open!");
});

如果您想在“连接”期间检查错误,您可以在 catch 块中链接一个错误处理程序。

mongoose.connect('mongodb://localhost:27017/test').
  catch(error => console.log(error));

如果您想使用Async/Await进行相同的错误处理,请按照以下步骤操作。

(async () => {
    try {
      await mongoose.connect('mongodb://localhost:27017/test');
      console.log("Successfully connected to Mongo DB");
    } catch (error) {
      console.log(error);
    }
})();

如果您想捕获连接连接到 Mongo 数据库后发生的错误,

mongoose.connection.on('error', err => {
  console.log(error);
});