背景:新项目有个统计需求,需要统计用户的动态周期(近7天、近15月、近30天)的积分变化榜单(每天0点更新),用户数量800W。业务数据库用的mysql,为解决该需求加了mongodb,学习使用mongodb的过程中踩过的坑,后面项目部署的时候又遇到了,特此记录,备忘。
问题:数据库连不上
原因:
-
1-mongodb的数据库密码设置的纯数字,配置文件需要加引号,否则密码不正确,若含有字母,不需要加引号
-
2-mongo每新建一个数据库,需要为新建的数据库新建用户分配权限,然后使用新建的账号密码来配置mongodb链接配置
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021062314545323.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4NzM0ODkx,size_16,color_FFFFFF,t_70)
spring:
data:
mongodb:
host: 127.0.0.1
port: 27017
username: root
password: "123456"
database: xxx
PS:mongodb处理复杂统计逻辑很慢,无法处理年度榜单,由于项目初期数据量级不会很夸张,该逻辑放在了业务平台进行处理,二期会转到大数据平台做跑批处理。