mongodb

docker 安装mongodb-创建用户

 docker run -itd --name mongo -p 27017:27017 mongo --auth

进入数据库添加密码

  docker exec -it mongo mongo admin
 ​
 # 创建一个名为 admin,密码为 123456 的用户。
 ​
 db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
 ​
 # 尝试使用上面创建的用户信息进行连接。
 ​
 db.auth('admin', '123456')
 使用这个账号连接navicat是可以正常使用的,但是连接java代码会报错
 ​
 org.springframework.data.mongodb.UncategorizedMongoDbException:
  Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='admin', source='cloud_iexe', password=<hidden>, mechanismProperties=<hidden>}; nested exception is com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='admin', source='cloud_iexe', password=<hidden>, mechanismProperties=<hidden>}
 ​

于是我们百度了一下: -->创建新用户

 db.createUser(
      {
        user: "wenqiang",
        pwd: "1438438",
        roles: ["readWrite"]
      }
 )

使用新用户进行登录并测试插入代码

 @Document(collection = "user")
 public class MongoUser implements Serializable {
     @Id
     private String id;
 ​
     @Field("user_name")
     private String userName=null;
 ​
     private String note=null;
 ​
     @Field("roles")
     private List<MongoRole> roleList=null;
 ​
     public String getId() {
         return id;
    }
 ​
     public void setId(String id) {
         this.id = id;
    }
 ​
     public String getUserName() {
         return userName;
    }
 ​
     public void setUserName(String userName) {
         this.userName = userName;
    }
 ​
     public String getNote() {
         return note;
    }
 ​
     public void setNote(String note) {
         this.note = note;
    }
 ​
     public List<MongoRole> getRoleList() {
         return roleList;
    }
 ​
     public void setRoleList(List<MongoRole> roleList) {
         this.roleList = roleList;
    }
 }
 ​

db: 可以用通过template也可以用:

 public interface MongoDbUserRepository extends MongoRepository<MongoUser,String> {
 }
 ​
     public MongoUser saveUser(MongoUser mongoUser){
         MongoUser mongoUser1=mongoDbUserRepository.save(mongoUser);
         return mongoUser1;
    }
  @Autowired
     private MongoUserServiceImpl mongoUserService;
 ​
     @Test
     public void saveMongoUser(){
         MongoUser mongoUser=new MongoUser();
         mongoUser.setId("1");
         mongoUser.setUserName("亚索");
         mongoUser.setNote("托儿索");
         MongoRole mongoRole=new MongoRole();
         mongoRole.setId("3");
         mongoRole.setRoleName("中单");
         mongoRole.setNote("快乐风男");
         List<MongoRole> mongoRoleList=new ArrayList<MongoRole>();
         mongoRoleList.add(mongoRole);
         mongoUser.setRoleList(mongoRoleList);
         logger.info("新增用户{}",new Gson().toJson(mongoUserService.saveUser(mongoUser)));
    }

docker创建mongodb并且测试代码的更多相关文章

  1. 使用Docker创建MongoDb服务

    使用Docker创建MongoDb服务 1.先拉mongodb镜像 docker pull mongodb:4.2.5 2.创建映射目录 创建mongo映射目录,用于存放后面的相关东西. mkdir ...

  2. 在Windows上使用Docker 创建MongoDB 副本集的极简方法(翻译)

    这篇博客介绍下在Windows上使用Docker 创建MongoDB 三节点副本集的最简单的方法.以下命令需要Docker for Windows并使用Linux 容器. 1: 为每个节点创建数据卷 ...

  3. 使用docker创建mongodb

    1.创建 MongoDB 数据卷 docker volume create mongo_data_yapi 2.启动 MongoDB docker run -d --name mongo-yapi - ...

  4. 一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...

  5. Docker-教你如何通过 Docker 快速搭建各种测试环境

    今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通 ...

  6. 通过mongodb客户端samus代码研究解决查询慢问题

    最近有项目需要用到mongodb,于是在网上下载了mongodb的源码,根据示例写了测试代码,但发现一个非常奇怪的问题:插入记录的速度比获取数据的速度还要快,而且最重要的问题是获取数据的速度无法让人接 ...

  7. 创建mongodb副本集操作实例

    一:概念 相关概念及图片引用自这里 mongodb副本集: 副本集是一组服务器,其中一个是主服务器,用于处理客户请求:还有多个备份服务器,用于保存主服务器的数据副本.如果主服务器崩溃了,备份服务器自动 ...

  8. Docker 创建 Crucible4.6.1 以及与 Crowd3.3.2 实现 SSO 单点登录

    目录 目录 1.介绍 1.1.什么是 Crucible? 2.Crucible 的官网在哪里? 3.如何下载安装? 4.对 Crucible 进行配置 4.1.破解 Crucible 第一步 4.2. ...

  9. Docker搭建MongoDB

    1. Docker搭建Mongodb 1.1 获取docker镜像 docker pull mongo 1.2 创建mongodb容器 docker run --name my-mongo -p 27 ...

随机推荐

  1. 题解 UVA1500 Alice and Bob

    题目传送门 题目大意 给出 \(n\) 堆石子,每次可以做以下两种操作之一: 将某两堆石子进行合并 将某一堆石子抽走一个石子 问谁必胜. 思路 就nm很妙好么? 首先,我们需要考虑每堆石子大小都 \( ...

  2. Java(4)运算符及表达式

    作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201675.html 博客主页:https://www.cnblogs.com/testero ...

  3. PHP伪协议与文件包含漏洞1

    PHP文件包含漏洞花样繁多,需配合代码审计. 看能否使用这类漏洞时,主要看: (1)代码中是否有include(),且参数可控: 如: (2)php.ini设置:确保 allow_url_fopen= ...

  4. kiyv Button参数属性

    from kivy.uix.button import Button from kivy.uix.floatlayout import FloatLayout from kivy.app import ...

  5. Java:动态代理小记

    Java:动态代理小记 对 Java 中的 动态代理,做一个微不足道的小小小小记 概述 动态代理:当想要给实现了某个接口的类中的方法,加一些额外的处理.比如说加日志,加事务等.可以给这个类创建一个代理 ...

  6. UltraSoft - Alpha - Postmortem 事后分析

    Alpha阶段 Postmortem会议 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 主要是解决DDL提醒功能的问题,定义的比较清楚,对典型用户和典 ...

  7. [no code][scrum meeting] Alpha 11

    项目 内容 会议时间 2020-04-17 会议主题 OCR紧急技术风险分析 会议时长 30min 参会人员 PM+OCR组成员 $( "#cnblogs_post_body" ) ...

  8. Noip模拟61 2021.9.25

    T1 交通 考场上想了一个$NPC$.应该吧,是要求出图里面的所有可行的不重复欧拉路 无数种做法都无法解出,时间也都耗在这个上面的,于是就考的挺惨的 以后要是觉得当前思路不可做,就试着换一换思路,千万 ...

  9. Luogu P3758 [TJOI2017]可乐 | 矩阵乘法

    题目链接 让我们先来思考一个问题,在一张包含$n$个点的图上,如何求走两步后从任意一点$i$到任意一点$j$的方案数. 我们用$F_p(i,j)$来表示走$p$步后从$i$到$j$的方案数,如果存储原 ...

  10. JAVA笔记__窗体类/Panel类/Toolkit类

    /** * 窗体类 */ public class Main { public static void main(String[] args) { MyFrame m1 = new MyFrame() ...