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. Fastjson中getJSONObject()与getJSONArray()的使用

    测试JSON串: { "package": { "List1": { "errorCode": "0", "e ...

  2. pycharm中安装和使用sqlite过程详解

    创建Django项目,添加app 使用虚拟环境 项目创建默认使用的Django数据库是sqlite 配置静态文件 STATIC_URL = '/static/' # HTML中使用的静态文件夹前缀 S ...

  3. 编程题:X星人的金币

    X星人的金币 时问限制:3000MS 内存限制:589824KB 题目描述: X是人在一艘海底沉船上发现了很多很多很多金币.可爱的X星人决定用这些金币来玩一个填格子的游戏.其规则如下:第1个格子放2枚 ...

  4. 【Spring】重新认识 IoC

    前言 IoC (Inversion of control) 并不是Spring特有的概念. IoC 维基百科的解释: In software engineering, inversion of con ...

  5. Golang通脉之类型定义

    自定义类型 在Go语言中有一些基本的数据类型,如string.整型.浮点型.布尔等数据类型, Go语言中可以使用type关键字来定义自定义类型. type是Go语法里的重要而且常用的关键字,type绝 ...

  6. LeetCode:数组专题

    数组专题 有关数组的一些 leetcode 题,在此做一些记录,不然没几天就忘光光了 二分查找 双指针 滑动窗口 前缀和/差分数组 二分查找 本文内容摘录自公众号labuladong中有关二分查找的文 ...

  7. Linux文件IO操作

    来源:微信公众号「编程学习基地」 目录 文件操作 Linux文件类型 Linux文件权限 修改文件权限 Linux error 获取系统调用时的错误描述 打印错误信息 系统IO函数 open/clos ...

  8. 第34篇-解析invokeinterface字节码指令

    与invokevirtual指令类似,当没有对目标方法进行解析时,需要调用LinkResolver::resolve_invoke()函数进行解析,这个函数会调用其它一些函数完成方法的解析,如下图所示 ...

  9. 结束的NULL

    最近同学叫我帮忙看个问题,为啥这个循环没有退出, 代码如下,原本是想拿到最后的NULL指针就可以结束循环 #include <stdio.h> #include <stdlib.h& ...

  10. live555 rtsp直播卡顿马赛克优化

    最近搞了个rtsp直播,初步是能用了,但是最终效果不是很好,客户不接受要求我们一定要继续优化. 原因是他们体验的时候发现会概率性出现马赛克和画面卡顿情况,经过我们测试验证,确实是有这个问题存在. 从原 ...