生产环境直接安装比较好,以及使用集群环境,本文仅测试交流使用,我用来写分布式im测试使用:

nami-im: 分布式im, 集群 zookeeper netty kafka nacos rpc主要为gate(长连接服务) logic (业务) lsb (负载均衡)store(存储)

1.  mongodb特点:

支持存储海量数据;(例如:直播中的打赏数据);支持频繁的数据读写;(例如:游戏道具);数据安全性不高,存在数据误差(丢失数据);mongoDB不支持多表操作,不支持事务;mongoDB使用Bson存储格式,支持动态字段管理;

2. mongoDB与mysql、redis对比:     与redis对比:   

          1. redis纯内存数据库,内存不足时触发淘汰策略,mongoDB使用内存加磁盘的存储策略具有高扩展性;           2. mongoDB使用Bson存储格式,支持动态字段管理方便扩展;     与mysql对比           1. mongoDB不支持多表操作,不支持事务;           2. mongoDB使用Bson存储格式,支持动态字段管理;     查询效率对比          Redis > MongoDB > MySQL 3. github 地址:

GitHub - mongodb/mongo: The MongoDB Database

4. docker 下载mongo 4.4版本镜像:

docker pull mongo:4.4

5. docker命令安装:

# –auth:需要密码才能访问容器服务

docker run -itd --name mongo -v /docker/mongodb/data:/data/db -p 27017:27017 mongo:4.4 --auth

6. 进入mongo 添加账号:

docker exec -it mongo mongo admin

7. 添加账号:

db.createUser({ user:'root',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},'readWriteAnyDatabase']});

# 退出指令:

exit

8. 我安装的navicat for mysql 16 mongo db 不支持了。。。前面版本mongo db 也能用记得,用idea datagrip 测试的连接成功:

9. spring boot 使用mongo db

a. pom配置:

org.springframework.boot

spring-boot-starter-data-mongodb

b. yml配置:

spring

data:

# mongo 配置

mongodb:

host: 192.168.164.146

port: 27017

username: root

# 注意要使用双引号

password: "123456"

# 指定数据库

database: nami-im

authentication-database: admin

auto-index-creation: true

c. 创建model类:

    需要注意的地方

        1.如图所示:document注解处 写表名

        2. @Id 注解和id 字段不要动复制过去。

        3. 业务字段加个@Field 就可以了

        4. 创建完就可以测试了

 d. 使用mongoTemplate:

   

 e: 完美解决。如果还是不懂可以把我的代码下载下来看一看,就在本文的开始地方哦!

注: 推荐使用构造注入,或lombok注解@AllArgsConstructor

       @Autowired @Resource 不推荐使用了

文章来源

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: