node连接mongodb时出错问题
node连接mongodb时出错问题
浮川的小窝

node连接mongodb时出错问题

面壁人浮川
2023-08-08 发布 / 正在检测是否收录...

13cf51cfcb5f3cc1c0cf9b77d9d79a66.jpg


天杀的mongodb 表情 表情表情表情表情表情表情表情
起因是升级了群晖DSM7.2 node版本随之而也升级了 之前的日志项目重新部署发现数据库连不上了...哎哟喂一天啊整整一天啥也没干就死磕这个倒霉数据库 死活连不上 现在记录一下自己解决的心路历程

  1. 首先我怀疑的是打的docker镜像不是最新版的 然后我就去码云看我的提交记录 发现木的问题。
  2. 然后我就翻docker日志 去看后端服务为啥连不上 发现就这么个破报错
    20230808163736.jpg 表情 遂谷歌百度了一通 大体意思如以下几个解决方法:
  • 修改链接地址
    url.jpg
    更换url localhost或者127.0.0.1 -> 0.0.0.0
  • 修改 mongo 配置文件
    vim /etc/mongod.conf.orig将其中的bindIp: 127.0.0.1注释掉bindIp: 127.0.0.1 或者改成bindIp: 0.0.0.0 即可开启远程连接
  • 修改mongodb docker配置文件
    vim /etc/sysctl.conf"在文件中添加下面的配置"
    net.ipv4.ip_forward=1
    添加此行配置查看是否修改成功
    sysctl net.ipv4.ip_forward
    如果返回net.ipv4.ip_forward = 1则表明成功

以上方法均无效 表情表情表情表情表情

最终的解决办法还是借鉴了n年前的easymock项目 因为在服务器上部署过easymock项目 所以就哼哧哼哧去gitub上翻源码 最后无奈把mongodb和node调用库分别由版本降级到 "mongoose": "^6.3.1"-> "^4.13.9" "mongo":"4.4.9" -> "3.4.1" 我又在easymock项目里写了个一测试js调用同网络下的easymock的mongodb 是能调通的(我比对过docker容器配置 关键参数都有相差不大) 遂我照葫芦画瓢 把mongo全部降低 然后特么的好使了= = 怀疑是升级DSM系统后 docker也进行了升级 要不就是node版本不兼容mongo调用库了 表情 表情 表情
这破问题太折磨人了 不过最终还是解决了

系统跑起来了 过阵子等着重构重构
log.jpg

啰啰嗦嗦一大堆没用的 下班!!! 表情 表情 表情

© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 收藏

评论 (0)

取消