docker 安装mongodb 虚拟机安装mongodb

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

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

1.  mongodb特点

  1. 支持存储海量数据;(例如:直播中的打赏数据);
  2. 支持频繁的数据读写;(例如:游戏道具);
  3. 数据安全性不高,存在数据误差(丢失数据);
  4. mongoDB不支持多表操作,不支持事务;
  5. 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配置

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>

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 不推荐使用了

猜你喜欢

转载自blog.csdn.net/qq_33919114/article/details/132184210