当前位置: 首页 > 知识库问答 >
问题:

如何解决猫鼬连接未知?

林丁雷
2023-03-14

我正在用Node、Express和MongoDB构建一个REST api服务。我安装了MongoDB,它在我的PC上运行正常,本地主机:27017。我可以添加集合并阅读它们。在我的app.js文件中,我有这样的设置


    var express = require('express');
    var mongoose = require('mongoose');
    var bodyParser = require('body-parser');

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

    var db = mongoose.connection;
    db.on('error', console.error.bind(console, 'connection error:'));
    db.once('open', function callback () {
      console.log("h");
    });


    var app = express();
    app.use(bodyParser.urlencoded({ extended: true }));
    app.use(bodyParser.json());

    var port = process.env.PORT || 3000;

    app.use('/api', require('./routes/api.js'));



    app.listen(port, function(){
        console.log('Running on port ' + port);
    });

 

我总是得到一个错误-mongoerror-cannot connect UNKNOWN我搜索了几个小时,没有找到任何解决方案。我该如何修复它,使它可以连接到MongoDB(工作正常)...?

共有2个答案

杜浩壤
2023-03-14
const dbpath = "mongodb+srv://127.0.0.1/bookAPI";

// Data connection
mongoose.connect(dbpath, {user: 'username', pass: 'password', useUnifiedTopology: true , useNewUrlParser: true })
  .then(()=> console.log("Now connected to MongoDB!"))
  .catch(err=> console.error("Something went wrong", err));

我用的是指南针,这段代码工作得非常好。

阳勇
2023-03-14

我解决了这个问题,安装了稳定的猫鼬。它是mongoose 4.x,我已经在WinXP中安装了3.8(npm install mongoose@3.8.*)。

 类似资料:
  • 问题内容: 我从Mongoose网站上阅读了快速入门,几乎复制了代码,但是无法使用Node.js连接MongoDB。 这是我的代码。控制台仅打印,不打印。我哪里错了? 问题答案: 调用时,它将建立与数据库的连接。 但是,您在以后的某个时间点(处理请求时)附加了事件侦听器,这意味着该连接可能已经处于活动状态,并且该事件已经被调用(您尚未监听它)。 。 您应该重新排列代码,以使事件处理程序尽可能(及时

  • 问题内容: 这是问题的简化版本,但是基本上,我试图用mongoose打开2个mongodb连接,并且给我“试图打开未关闭的连接”。错误。 代码示例: 任何想法如何使其工作? 问题答案: 打开与数据库的默认连接。由于需要两个不同的连接,请使用。 API链接:http : //mongoosejs.com/docs/api.html#index_Mongoose- createConnection

  • 问题内容: 如果猫鼬无法连接到数据库,如何设置错误处理的回调? 我知道 但是是否有类似的东西 ? 问题答案: 连接后,您可以在回调中获取错误:

  • 问题内容: 我正在尝试通过Mongoose设置MongoDB自动重新连接功能。我尝试通过该选项的所有方式均无效,或者至少未发出该事件。 我尝试过的 如果其中之一是正确的,则应触发该事件并在控制台中记录一条消息,但是这永远不会发生。 如果重新连接前有延迟,有人知道如何配置吗? 提前致谢 对于任何寻找到这一点,看看这个和这个问题在猫鼬库。 问题答案: 我和您有同样的问题,而robertklep的解决方

  • 问题内容: 我一直都在连接“ admin”数据库,这是一个固定的错误。 使用Mongoose 5.0.6 MongoDb 3.6并尝试连接到Atlas。 我的问题是,Mongoose 5.0.6依赖哪个驱动程序? 我怎么知道猫鼬什么时候可以修复? 在另一个方向上,有没有一种方法可以与MongoDB连接,然后将其与Mongoose结合使用? 干杯 问题答案: 基本上,您应该尝试使用url链接进行连接

  • 问题内容: 我有以下架构(在咖啡脚本中表示歉意) 我只想恢复一条肯定在我的数据库中的记录: 不幸的是,这总是记录下来。在mongo shell中总是返回一个值。到底是怎么回事? 问题答案: 发现问题,需要改用: