你如何正确连接mongoDB?

Posted

技术标签:

【中文标题】你如何正确连接mongoDB?【英文标题】:How do you properly connect mongoDB? 【发布时间】:2021-06-15 05:01:05 【问题描述】:

我有这个,但它会带来很多错误。有什么建议吗?

mongoose.connect(process.env.SRV, 
useNewUrlParser: true,
useUnifiedTopology: true, 
useFindAndModify: false
).then(() =>
console.log('Connected to database!')
).catch((err) =>
console.log(err)
);

以下是错误:

MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.
at NativeConnection.Connection.openUri (C:\Code\bots\BuyBot\node_modules\mongoose\lib\connection.js:688:11)
at C:\Code\bots\BuyBot\node_modules\mongoose\lib\index.js:348:10
at C:\Code\bots\BuyBot\node_modules\mongoose\lib\helpers\promiseOrCallback.js:31:5
at new Promise (<anonymous>)
at promiseOrCallback (C:\Code\bots\BuyBot\node_modules\mongoose\lib\helpers\promiseOrCallback.js:30:10)
at Mongoose._promiseOrCallback (C:\Code\bots\BuyBot\node_modules\mongoose\lib\index.js:1140:10)
at Mongoose.connect (C:\Code\bots\BuyBot\node_modules\mongoose\lib\index.js:347:20)
at Object.<anonymous> (C:\Code\bots\BuyBot\index.js:17:10)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47

我不知道它为什么这么生气。

【问题讨论】:

包括您遇到的错误 您是否尝试过查看 Mongoose 的文档 这意味着您没有名为SRV 的环境变量,或者您没有正确设置process.env。您是否使用dotenv 或类似模块来实现这一点? 【参考方案1】:

在根文件夹中创建一个 .env 文件,并在该文件中添加以下行。不要忘记在您的应用程序中包含 dotenv 包。

SRV="Your_Mongo_URI"

现在运行代码,这可能对你有用。

【讨论】:

以上是关于你如何正确连接mongoDB?的主要内容,如果未能解决你的问题,请参考以下文章

我想在mongodb中使用左外连接,如何使用它?我只使用mongodb指南针

MongoDB PHP

MongoDB,真的是正确的选择吗?

MongoDB连接池理解及测试 NodeJS

MongoDB 连接

mongodb连接