【问题标题】:Why node.js always says I'm connected to my MongoDB even if the "URI" is fake or wrong?为什么即使“URI”是假的或错误的,node.js 总是说我已连接到我的 MongoDB?
【发布时间】:2019-12-22 02:46:29
【问题描述】:

我正在使用 mongoose 在 node.js 中测试 mongoDB 连接。我遵循猫鼬的官方指南,当我尝试像他们说的那样连接时,猫鼬总是说我已连接,即使给出的 URI 是假的或错误的。我的连接是否正确?

我想将我的应用连接到名为“technicaltest”的数据库。

我的代码:

const mongoose = require('mongoose');

const db = mongoose.createConnection('mongodb://localhost/technicaltest', {useNewUrlParser: true});

db.on('connected', () => {
    console.log('Connected to mongoDB !');
});

db.on('disconnected', () => {
    console.log('Disconnected to mongoDB !');
});

控制台输出:

> set PORT=3001 && node bin/www

Connected to mongoDB !

此代码的相同输出:

const mongoose = require('mongoose');

const db = mongoose.createConnection('mongodb://localhost/someWeirdyThingsHere', {useNewUrlParser: true});

db.on('connected', () => {
    console.log('Connected to mongoDB !');
});

db.on('disconnected', () => {
    console.log('Disconnected to mongoDB !');
});

我认为如果 mongoose 无法连接到 mongoDB 中的正确数据库,控制台中不会提示任何内容... 但在这里... 无论如何都会调用“已连接”事件。

【问题讨论】:

    标签: node.js mongodb mongoose connection


    【解决方案1】:

    我认为您忘记将端口(27017)添加到您的 mongodb 连接。 应该是

    const db = mongoose.createConnection('mongodb://localhost:27017/technicaltest', {useNewUrlParser: true});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-15
      • 1970-01-01
      • 2013-02-28
      • 1970-01-01
      • 2021-11-02
      • 1970-01-01
      相关资源
      最近更新 更多