FastGPT学习(3)- Error:Operation `users.findOne()` buffering timed out after 10000ms 解决方案

1. 背景

在对FastGPT进行本地化开发时,启动项目后登录时持续报错,错误信息是 init root user error MongooseError: Operation users.findOne() buffering timed out after 10000ms
在这里插入图片描述
在这里插入图片描述

2. 解决方案

错误分析:错误来自MongoDB数据库连接。

2.1 方案(一):数据库用户名和密码是否配置正确?

MongoDB 数据库的用户名和密码来自docker-compose.yml文件中(最初下载docker镜像时的文件)。如果使用默认配置文件,用户名是myusername,密码是mypassword
在这里插入图片描述
因此,在.env.local文件中,修改内容:

# mongo 数据库连接参数,本地开发连接远程数据库时,可能需要增加 directConnection=true 参数,才能连接上。
MONGODB_URI=mongodb://myusername:mypassword@127.0.0.1:27017/fastgpt?authSource=admin&directConnection=true

# PG 向量库连接参数
PG_URL=postgresql://username:password@127.0.0.1:5432/postgres

修改mongo 数据库的用户名和密码,添加directConnection=true 参数。

2.2 方案(二):MongoDB 副本集是否未初始化?

初始化 MongoDB 副本集步骤:

第一步:启动 Docker Compose:
docker-compose up -d 或者 docker compose up -d
第二步:进入 MongoDB 容器:
docker-compose exec mongo bash 或者docker exec -it mongo bash
第三步:连接到 MongoDB:
mongo -u myusername -p mypassword --authenticationDatabase admin
第四步:初始化副本集:

rs.initiate({
  _id: "rs0",
  members: [
    { _id: 0, host: "mongo:27017" }
  ]
})

第五步:检查副本集状态:
rs.status()
第六步:退出 MongoDB shell 和容器:
exit
exit

完成以上步骤后,MongoDB 副本集就初始化成功了。由于当前配置中只有一个 MongoDB 节点,所以副本集中只有一个成员。

之后重新运行项目就可以登录成功了!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值