如何在本地连接mongoose到mongodb

Posted

技术标签:

【中文标题】如何在本地连接mongoose到mongodb【英文标题】:How to connect mongoose to mongodb locally 【发布时间】:2022-01-06 03:57:49 【问题描述】:

我刚开始学习使用节点 JS,但在本地使用社区版本的 mongdb 将 mongoose 连接到 mongodb 时遇到困难。

const app = express();
app.use(bodyParser.json(extended: true))
app.use(bodyParser.urlencoded(extended: true))
app.use(cors());

app.get('/', (req, res)=>
    react
)
 


const connectDB = 'mongodb://127.0.0.1/mydb';
mongoose.connect(connectDB, useNewUrlParser: true, useUnifiedTopology:true)  //set up default mongoose connection


    let db = mongoose.connection; //Get the connection

    db.on('err', console.error.bind(console, 'MongoDB connection error:')); //Bind connection to error event

每当我运行服务器时,我都看不到任何迹象表明数据库已连接并且我没有任何错误,连接不会发生。这是我在运行服务器时在控制台上看到的内容

C:\projects\mongodb\backend>nodemon Server.js

> backend@1.0.0 start
> nodemon Server.js  

[nodemon] 2.0.15
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json  
[nodemon] starting `node Server.js`

启动服务器的过程永远不会运行到完成。

【问题讨论】:

我认为数据库连接URL不正确。见Connection string URI format。 global.mongoose = require('mongoose'); // 数据库连接 global.mongoose.connect(db_url, useNewUrlParser: true , function (err) if (err) throw err; console.log('Successfully connected'); ); 非常感谢@MaheshBhatnagar,它已连接。请将您的评论添加到答案部分 【参考方案1】:

您可以使用以下代码,

const mongoose = require('mongoose'); 

mongoose.connect(db_url, useNewUrlParser: true , function (err)  
if (err) throw err; console.log('Successfully connected'); );

【讨论】:

为什么会出现全局命名空间污染?只需使用const mongoose = require('mongoose');

以上是关于如何在本地连接mongoose到mongodb的主要内容,如果未能解决你的问题,请参考以下文章

如何在本地使用带有 express 的 graphql 和带有 mongoose 的 mongodb 来检索文档?

将 apollo 服务器与 mongodb mongoose 连接

nodejs mongoose在部署到aws时显示错误,在本地机器上工作

mongoose 文档 Connections

猫鼬无法连接(本地主机)

备忘--node连接mongodb