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