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. FastAPI 学习之路(八)路径参数和数值的校验

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  2. PTA数据结构 习题2.1 简单计算器 (20分)

    习题2.1 简单计算器 (20分) 模拟简单运算器的工作.假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算. 输入格式: 输入在一行中给出一个四则运算 ...

  3. C++ 类继承 笔记(初步)

    本节内容源于对C++ primer第13章的学习,这本书把C++的原理将得明明白白.网上的博客往往讲得一头雾水.到头来还不如看原书本. 问题 首先给出一题: #include<stdio.h&g ...

  4. Spark解决SQL和RDDjoin结果不一致问题(工作实录)

    问题描述:DataFrame的join结果不正确,dataframeA(6000无重复条数据) join dataframeB(220条无重复数据,由dataframeA转化而来,key值均源于dat ...

  5. JVM:GC Roots

    JVM:GC Roots 本笔记是根据bilibili上 尚硅谷 的课程 Java大厂面试题第二季 而做的笔记 JVM 垃圾回收的时候如何确定垃圾 什么是垃圾 简单来说就是内存中已经不再被使用的空间就 ...

  6. 华为HG255D挂卡中继专用旋风科技固件

    正的挂卡不掉线不掉速,稳定上网看上去好像很NB的样子 挂卡设置教程:http://picimg.lshou.com/pic/clou ... /6/t/1/30247515.mp4 固件链接: htt ...

  7. 【做题记录】CF1451E2 Bitwise Queries (Hard Version)

    CF1451E2 Bitwise Queries (Hard Version) 题意: 有 \(n\) 个数( \(n\le 2^{16}\) ,且为 \(2\) 的整数次幂,且每一个数都属于区间 \ ...

  8. sed初理多行合并+sed之G、H、g、h使用+sed n/N使用说明

    转载:[shell]sed处理多行合并 - seyjs - 博客园 (cnblogs.com) 文件格式 table=t1 name owner address table=t2 id text co ...

  9. git安装心得

    每天码代码打卡任务,老师需要我们提交链接,这就需要我们把自己打的代码文件上传到GitHub上来,以此获得链接. 自己是一个新人,安装git也是什么都不懂(跟着网上的教程也总是能出错) 安装正常操作:h ...

  10. CSP2020-儒略历

    大家可以在洛谷提交: 题目描述 为了简便计算,天文学家们使用儒略日(Julian day)来表达时间.所谓儒略日,其定义为从公元前 4713 年 1 月 1 日正午 12 点到此后某一时刻间所经过的天 ...