未处理的PromiseRejectionWarning:MongoParseError:无效的连接字符串



当我运行我的app.js文件时,我得到了UnhandledPromiseRejectionWarning:MongoParseError:无效的连接字符串。

我的终端中的全部错误是:

$node app.js(节点:18676(未处理的PromiseRejectionWarning:MongoParseError:无效的连接字符串在parseConnectionString(C:\Users\Dell\Documents\Extra\fruit\node_modules\mongodb\lib\core\uri_parser.js:565:21(在connect(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\mangoose\lib\connection.js:82:12在new Promise((位于NativeConnection.Connection.openUri(C:\Users\Dell\Documents\Extra\fruit\node_modules\mangoose\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在new Promise((在promiseOrCallback(C:\Users\Dell\Documents\Extra\fruit\node_modules\mongose\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(在模块中_compile(internal/modules/cjs/loader.js:1076:30((使用node --trace-warnings ...显示创建警告的位置((节点:18676(未处理的PromiseRejection警告:未处理的promise rejection。这个错误要么是由于在没有catch块的异步函数内部抛出,要么是由于拒绝了一个没有catch的promise使用.catch((处理。要在未处理的promise拒绝时终止节点进程,请使用CLI标志--unhandled-rejections=strict(请参阅https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝id:3((节点:18676([DEP0018]不推荐使用警告:不推荐使用未经处理的承诺拒绝。将来,未处理的promise拒绝将使用非零退出代码终止Node.js进程
(节点:18676(未处理的PromiseRejection警告:Mongoose错误:操作fruits.insertOne()缓冲在10000ms后超时在超时时。(C:\Users\Dell\Documents\Extra\fruit\node_modules\mongoose\lib\drivers\node-mogodb native\collection.js:184:20(at listOnTimeout(internal/timers.js:554:17(在processTimers(internal/timers.js:497:7((节点:18676(未处理的PromiseRejection警告:未处理的promise rejection。这个错误要么是由于在没有catch块的异步函数内部抛出,要么是由于拒绝了一个没有catch的promise使用.catch((处理。要在未处理的promise拒绝时终止节点进程,请使用CLI标志--unhandled-rejections=strict(请参阅https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝id: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();

连接字符串的开头有一个拼写错误,monogodb而不是mongodb

  1. 解决方案确保MongoDB URL连接字符串正确或拼写错误
    "mongodb://myDBReader:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin";或"mongodb://mongodb0.example.com:27017">

最新更新