docker创建mongodb并且测试代码
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并且测试代码的更多相关文章
- 使用Docker创建MongoDb服务
使用Docker创建MongoDb服务 1.先拉mongodb镜像 docker pull mongodb:4.2.5 2.创建映射目录 创建mongo映射目录,用于存放后面的相关东西. mkdir ...
- 在Windows上使用Docker 创建MongoDB 副本集的极简方法(翻译)
这篇博客介绍下在Windows上使用Docker 创建MongoDB 三节点副本集的最简单的方法.以下命令需要Docker for Windows并使用Linux 容器. 1: 为每个节点创建数据卷 ...
- 使用docker创建mongodb
1.创建 MongoDB 数据卷 docker volume create mongo_data_yapi 2.启动 MongoDB docker run -d --name mongo-yapi - ...
- 一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- Docker-教你如何通过 Docker 快速搭建各种测试环境
今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通 ...
- 通过mongodb客户端samus代码研究解决查询慢问题
最近有项目需要用到mongodb,于是在网上下载了mongodb的源码,根据示例写了测试代码,但发现一个非常奇怪的问题:插入记录的速度比获取数据的速度还要快,而且最重要的问题是获取数据的速度无法让人接 ...
- 创建mongodb副本集操作实例
一:概念 相关概念及图片引用自这里 mongodb副本集: 副本集是一组服务器,其中一个是主服务器,用于处理客户请求:还有多个备份服务器,用于保存主服务器的数据副本.如果主服务器崩溃了,备份服务器自动 ...
- Docker 创建 Crucible4.6.1 以及与 Crowd3.3.2 实现 SSO 单点登录
目录 目录 1.介绍 1.1.什么是 Crucible? 2.Crucible 的官网在哪里? 3.如何下载安装? 4.对 Crucible 进行配置 4.1.破解 Crucible 第一步 4.2. ...
- Docker搭建MongoDB
1. Docker搭建Mongodb 1.1 获取docker镜像 docker pull mongo 1.2 创建mongodb容器 docker run --name my-mongo -p 27 ...
随机推荐
- 使用mobaXtrem显示CentOS图形
安装环境 yum install -y xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1 \mesa-l ...
- C 可变参数列表 stdarg.h
内容来自<c和指针>,整理后方便个人理解 stdarg.h 菜鸟教程 - <stdarg.h> 类型 va_list 宏 va_start va_arg va_end #inc ...
- DL4J实战之五:矩阵操作基本功
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 【Java虚拟机8】自定义类加载器、类加载器命名空间、类的卸载
前言 学习类加载器就一定要自己实现一个类加载器,今天就从一个简单的自定义类加载器说起. 自定义类加载器 例1 一个简单的类加载器,从一个给定的二进制名字读取一个字节码文件的内容,然后生成对应的clas ...
- Java 是编译型语言还是解释型语言?
Java首先由编译器编译成.class类型的文件,这个是java自己类型的文件.然后在通过虚拟机(JVM)从.class文件中读一行解释执行一行.因此Java是一种半编译半解释的语言,理解这种意思即可 ...
- Netty学习笔记(1)NIO三大组件
1. Channel channel 有一点类似于 stream,它就是读写数据的双向通道,可以从 channel 将数据读入 buffer,也可以将 buffer 的数据写入 channel,而之前 ...
- UI自动化测试之Airtest
官方文档: https://airtest.doc.io.netease.com/ 本文我们讲解下Airtest的使用,主要学习目标有以下几点: (1)认识Airtest (2)了解Airtest能做 ...
- [BUAA]起点 软工第一次作业-热身
项目 内容 这个作业属于哪个课程 2020计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 第一次作业-热身! 我在这个课程的目标是 了解软件开发,提高自己的工程能力和团队协作能力 这个作业在哪 ...
- Spring Cloud Alibaba Nacos Config 的使用
Spring Cloud Alibaba Nacos Config 的使用 一.需求 二.实现功能 1.加载 product-provider-dev.yaml 配置文件 2.实现配置的自动刷新 3. ...
- Python基础——数据类型——字符串
整数.浮点数.布尔值的用法大同小异,而Python字符串的一些用法不易记住,这里以廖雪峰教程为基础,进行一些思考和复习总结. 字符串是什么? 以单引号'或者双引号"括起来的任意文本,比如:& ...