UnhandledPromiseRejectionWarning:MongoParseError:无效的连接字符串

Posted

技术标签:

【中文标题】UnhandledPromiseRejectionWarning:MongoParseError:无效的连接字符串【英文标题】:UnhandledPromiseRejectionWarning: MongoParseError: Invalid connection string 【发布时间】:2021-03-28 18:40:13 【问题描述】:

当我运行我的 app.js 文件时,我收到 UnhandledPromiseRejectionWarning: MongoParseError: Invalid connection string。

我的终端中的整个错误是:

$ 节点 app.js (节点:18676) 在 parseConnectionString (C:\Users\Dell\Documents\Extra\fruit\node_modules\mongodb\lib\core\uri_parser.js:565:21) 在连接处(C:\Users\Dell\Documents\Extra\fruit\node_modules\mongodb\lib\operations\connect.js:282:3) 在 C:\Users\Dell\Documents\Extra\fruit\node_modules\mongodb\lib\mongo_client.js:224:5 在maybePromise (C:\Users\Dell\Documents\Extra\fruit\node_modules\mongodb\lib\utils.js:665:3) 在 MongoClient.connect (C:\Users\Dell\Documents\Extra\fruit\node_modules\mongodb\lib\mongo_client.js:220:10) 在 C:\Users\Dell\Documents\Extra\fruit\node_modules\mongoose\lib\connection.js:820:12 在新的承诺 () 在 NativeConnection.Connection.openUri (C:\Users\Dell\Documents\Extra\fruit\node_modules\mongoose\lib\connection.js:817:19) 在 C:\Users\Dell\Documents\Extra\fruit\node_modules\mongoose\lib\index.js:345:10 在 C:\Users\Dell\Documents\Extra\fruit\node_modules\mongoose\lib\helpers\promiseOrCallback.js:31:5 在新的承诺 () 在 promiseOrCallback (C:\Users\Dell\Documents\Extra\fruit\node_modules\mongoose\lib\helpers\promiseOrCallback.js:30:10) 在 Mongoose._promiseOrCallback (C:\Users\Dell\Documents\Extra\fruit\node_modules\mongoose\lib\index.js:1135:10) 在 Mongoose.connect (C:\Users\Dell\Documents\Extra\fruit\node_modules\mongoose\lib\index.js:344:20) 在对象。 (C:\Users\Dell\Documents\Extra\fruit\app.js:3:10) 在 Module._compile (internal/modules/cjs/loader.js:1076:30) (使用node --trace-warnings ... 显示警告的创建位置) (节点:18676)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下在异步函数内部抛出,或者通过拒绝没有 用 .catch() 处理。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志 --unhandled-rejections=strict(请参阅 https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。 (拒绝编号:3) (节点:18676)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。 (节点:18676)UnhandledPromiseRejectionWarning:MongooseError:操作fruits.insertOne()缓冲在10000ms后超时 在超时。 (C:\Users\Dell\Documents\Extra\fruit\node_modules\mongoose\lib\drivers\node-mongodb-native\collection.js:184:20) 在 listOnTimeout (internal/timers.js:554:17) 在 processTimers (internal/timers.js:497:7) (节点:18676)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下在异步函数内部抛出,或者通过拒绝没有 用 .catch() 处理。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志 --unhandled-rejections=strict(请参阅 https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。 (拒绝编号:4)

代码如下:

const mongoose=require('mongoose');

mongoose.connect('monogodb://localhost:27017/fruitsDB', useNewUrlParser:true,family:4);

const fruitSchema=new mongoose.Schema(
name:String,
rating:Number,
review:String
);

const Fruit=mongoose.model("Fruit",fruitSchema);

const fruit=new Fruit(
name:"Apple",
rating:7,
review:"Pretty Good!"
);

fruit.save();

【问题讨论】:

【参考方案1】:

您的连接字符串开头有错字,monogodb 而不是mongodb

【讨论】:

以上是关于UnhandledPromiseRejectionWarning:MongoParseError:无效的连接字符串的主要内容,如果未能解决你的问题,请参考以下文章

[Unhandled promise rejection: TypeError: null is not an object (evaluating '_reactNativeImageCropPic

等待 - 捕获错误 - UnhandledPromiseRejectionWarning

批量删除如何工作?

7月工作知识总计:

未处理的承诺拒绝 |重启命令

未处理的承诺拒绝警告(Cordova Angular)