当前位置: 首页 > 知识库问答 >
问题:

从nodejs与本地mongodb的连接出现问题:[Symbol(mongoErrorContextSymbol)]

诸葛皓
2023-03-14

我正在创建nodejs服务器,并将其连接到EC2实例上的本地mongodb。与mongodb的连接错误。

我在本地机器上试用过,运行良好。我已经成功地尝试使用MongoAtlas。但在EC2实例上尝试时,会显示错误消息:

telegram-bot-02@0.0.0启动 /home/ec2-user/workspace/rep01节点。

mongdb://127.0.0.1:27017/telegramMongoDb连接错误{MongoParseError:connectOp上的parseConnectionString(/home/ec2 user/workspace/rep01/node_modules/MongoDb core/lib/uri_parser.js:412:21)无效连接字符串(/home/ec2 user/workspace/rep01/node_modules/MongoDb/lib/operations/mongo_client_ops.js:180:3)在MongoClient执行操作时(/home/ec2 user/workspace/rep01/node_modules/mongodb/lib/operations/mongo_client_ops.js:284:3)(/home/ec2 user/workspace/rep01/node_modules/mongodb/lib/utils.js:420:24)。在NativeConnection的新Promise()连接(/home/ec2 user/workspace/rep01/node_modules/mongodb/lib/mongo_client.js:168:10)。联系mongoose上的openUri(/home/ec2 user/workspace/rep01/node_modules/mongoose/lib/connection.js:518:19)。在对象上连接(/home/ec2 user/workspace/rep01/node_modules/mongoose/lib/index.js:270:15)。模块中的(/home/ec2 user/workspace/rep01/app.js:16:10)_在对象处编译(internal/modules/cjs/loader.js:689:30)。模块_扩展。。模块处的js(internal/modules/cjs/loader.js:700:10)。在函数tryModuleLoad(internal/modules/cjs/loader.js:599:32)处加载(internal/modules/cjs/loader.js:538:12)。模块_在模块处加载(内部/modules/cjs/loader.js:530:3)。require(internal/modules/cjs/loader.js:637:17)名称:'mongoparserror',[Symbol(mongoErrorContextSymbol)]:{}

我试图重新html" target="_blank">安装mongodb,但没有成功。Mongodb版本是v4。请帮我做这个。非常感谢。

共有3个答案

莘睿
2023-03-14

您可以按照此链接获取连接节点的说明。与MongoDB的js。

举个例子

//with using the promise
mongoose.connect(uri,options).then(() => {
  //connection established successfully
}).catch(error){
  //catch any error during the initial connection
}
舒宏富
2023-03-14

弃用警告:当前服务器发现和监视引擎已弃用,将在未来版本中删除。要使用新的服务器定义和监视引擎,请将选项{useUnifiedTopology:true}传递给客户端构造函数

所以正确的代码是

mongoose.connect('mongodb://localhost:27017/usercrud', { useNewUrlParser: true, useUnifiedTopology: true  })
.then(() => console.log("Mongodb connected"))
.catch(err => console.log(err));
龙繁
2023-03-14

试试这个,这对我来说很有效,我也有同样的错误,因为我试着用错误的方式连接。我以前的代码生成了“'MongoParserError',[Symbol(mongoErrorContextSymbol)]:{}}”错误-

mongoose.connect('mongodb://localhost/27017/creative-ideas', { useNewUrlParser: true })
    .then(() => console.log("Mongodb connected"))
    .catch(err => console.log(err));

更正后的代码为:

mongoose.connect('mongodb://localhost:27017/creative_ideas', { useNewUrlParser: true })
    .then(() => console.log("Mongodb connected"))
    .catch(err => console.log(err));
 类似资料:
  • 我是MongoDB和NodeJS的新手。我编写了一个简单的应用程序,测试RESTFUL状态API的写入速度: 我从终端使用启动应用程序。然后我编写了一个单独的python脚本,其中包含无限的while循环,没有任何睡眠器/超时,只需提交带有。 几秒钟内一切正常。但当我的API向mongodb写入1084条记录时,我从上面的一条if语句中得到了以下错误: -------------连接错误-----

  • 我在Ubuntu 14.04中使用XAMPP for linux。在终端上启动服务时,打印下一个日志: sudo /opt/lampp/lampp启动 "开始XAMPPLinux5.5.30-0... XAMPP:正在启动Apache。。。好啊 XAMPP:正在启动MySQL。。。已经在运行了。 XAMPP:开始ProFTPD...好的。" 我不知道为什么当我第一次启动XAMPPm时,MySQL服

  • null 我确信我已经在127.0.0.1:27017启动了数据库服务,并且可以用shell和非异步方法连接。错误: PrimaryServerSelector没有从群集描述中选择服务器ClusterDescription{type=unknown,connectionmode=single,all=[ServerDescription{address=localhost:27017,type=u

  • 我的spring应用程序使用mongodb进行持久化。应用程序使用用户名/密码连接到mongodb。 为了找到Spring Native的好处,我在我的Ubuntu18LTS上创建了一个docker映像。当我使用docker compose运行应用程序映像和mongodb映像时,一切看起来都很好。当我调用插入mongodb的rest api时,应用程序会抛出一个错误 操作系统:Ubuntu18LT

  • 问题内容: 当我的MongoDB连接空闲几分钟后,下一个请求将错误结束。从命令行客户端,它看起来像这样: 我看到针对MongoHQ和MongoLab的沙箱实例的问题。 由于重新连接,下一个请求通过正常。这是我的网络应用程序中的一个问题,因为几分钟不活动后,在网络请求期间将出现此错误。有两件事让我感到惊讶: MongoDB连接被如此频繁和频繁地破坏,并且 驱动程序只是引发一个异常,而不是在重新连接后

  • 我是nodejs和MongoDB的重要成员。尝试连接到数据库时遇到以下错误: (节点:10124)UnhandledPromiseRejectionWarning:MongoNetworkError:在池上第一次连接[MongoNetworkError:connect Econnn拒绝127.0.0.1:27017]时无法连接到服务器[127.0.0.1:27017].(E:\node js wo