windows docker mongodb

大家好,我是烤鸭:

   今天翻博客,发现4年前的一篇草稿,抽空给完善下。原本草稿写的是linux下mongo使用,还有java的一些api,现在就用容器实现下。

容器部署

官方网站:
https://www.mongodb.com/
windows安装:https://docs.docker.com/desktop/windows/install/

# 下载镜像
docker pull mongo
# 启动镜像
docker run -itd --name mongo --restart=always -v D:\\data\\docker\\mongo:/data/db -p 27017:27017 mongo --auth

-itd --name mongo:运行mongo

–restart=always:设置重启

-v D:\data\docker\mongo:/data/db :本地磁盘 D:\data\docker\mongo 作为存储目录

-p 27017:27017 : 设置端口

–auth : 需要密码访问

# 进入容器
docker exec -it mongo mongo admin
# 创建admin账号
db.createUser({ user:'admin',pwd:'admin',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 连接
db.auth("admin","admin");
# 创建city db
use city
# 查看db
db
# 创建city用户
db.createUser({ user:'city',pwd:'city',roles:[ { role:'userAdmin', db: 'city'}]});
# 删除city用户
db.dropUser('city')
# 由于刚才没有建权限,重新创建个
db.createUser({ user:'city',pwd:'city',roles:[ { role:'dbAdmin', db: 'city'},"readWrite"]});

在这里插入图片描述

用户创建相关可以参考这篇:
https://www.jianshu.com/p/02b7f89c7abf

工具-GUI

https://studio3t.com/download-studio3t-free

默认30天完整版试用,到期后自动转入免费版。

导入测试数据

https://download.csdn.net/download/Angry_Mills/85528602
在这里插入图片描述

CURD

# 全量查询
db.getCollection("city").find({})
# 条件查询
db.getCollection("city").find({"name":"北京"})
# 插入数据,返回 WriteResult({ "nInserted" : 1 }) 即为成功
db.city.insert({"label":"测试地区010","name":"北京","pinyin":"Beijing","zip":"010"})
# 修改,db.chartName.update(json1,{$set:json2}) , json1 是条件,json2 是指定更新的字段
db.city.update({"label":"测试地区010"},{$set:{"label":"测试地区020"}})
# 删除数据
db.city.remove({"label":"测试地区020","name":"北京","pinyin":"Beijing","zip":"010"})

Java 连接

demo项目:https://gitee.com/fireduck_admin/boot-mongo-demo

pom

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

application.properties

# spring.data.mongodb.uri=mongodb://用户名:密码@IP:端口/数据库?authSource=admin
spring.data.mongodb.uri=mongodb://city:city@localhost:27017/city?authSource=city#上面配置可写为以下配置
#spring.data.mongodb.database=city
#spring.data.mongodb.host=localhost
#spring.data.mongodb.port=27017
#spring.data.mongodb.username=city
#spring.data.mongodb.password=city
#spring.data.mongodb.authentication-database=city

City

@Data
@Document(collection = "city")
@AllArgsConstructor
public class City {private String label;private String name;private String pinyin;private String zip;
}

MongoController

@RestController
public class MongoController {@Autowiredprivate MongoTemplate mongoTemplate;@GetMapping("/test2")public void queryDemo(){System.out.println("=============查询所有====================");List<City> all = mongoTemplate.findAll(City.class);all.forEach(System.out::println);//方法引用System.out.println();System.out.println("===============条件查询=======================");// name是北京的String name="北京";Query query = new Query(Criteria.where("name").is(name));List<City> users = mongoTemplate.find(query, City.class);users.forEach(System.out::println);System.out.println();System.out.println("===============分页查询=======================");int pageSize=5,currentPage=1;long count = mongoTemplate.count(new Query(), City.class);List<City> userList = mongoTemplate.find(new Query().skip((currentPage - 1) * pageSize).limit(pageSize), City.class);System.out.println("记录数 = "+count);userList.forEach(System.out::println);}}

线上问题记录

记得是两个月前早上5点多被报警短信震醒,mongo的某个结点cpu打满。

在这里插入图片描述

在这里插入图片描述

后来经过排查是新上的查询未走索引,导致查询耗时升高, 引起cpu异常,当时记录的查询监控。

在这里插入图片描述

可以看到,下面的多条件查询,没走组合索引导致的。

在这里插入图片描述

其他常见问题

mongodb 启动失败:ERROR: child process failed, exited with error number 1

mongodb启动时报错ERROR: child process failed, exited with error number 1_SmallTankPy的博客-CSDN博客

数据备份恢复:

MongoDB备份-mongodump和恢复-mongorestore_朝闻道-夕死可矣的博客-CSDN博客

修改数据库名称:

MongoDB修改数据库名_其實很簡單的博客-CSDN博客_mongodb修改数据库名称

docker之mongo数据库备份、导入

https://www.gxlcms.com/sql_question-396380.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412439.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Is the byte array a result of corresponding serialization for DefaultDeserializer

大家好&#xff0c;我是烤鸭&#xff1a; 问题记录&#xff0c;上线之后懵逼的问题。只能回滚?每次都是上线来暴击&#xff0c;不然多查查文章也不至于这么被动。 报错日志 org.springframework.data.redis.serializer.SerializationException: Cannot deserialize; nes…

容器环境 springcloud gateway grafana prometheus采集集成与问题

容器环境 springcloud gateway grafana prometheus采集集成与问题 大家好&#xff0c;我是烤鸭&#xff1a; 记录下网关上容器后&#xff0c;监控升级的过程。 原来的方式 grafana 和 prometheus 网上教程很多&#xff0c;就不细写了。 没上容器之前&#xff0c;可以在…

easyui Combotree 怎么加载数据 支持多选

1、开发环境vs2012 mvc4 c# 2、HTML前端代码 <% Page Language"C#" AutoEventWireup"true" CodeBehind"DataGridTest.aspx.cs" Inherits"MvcAppTest.DataGridTest" %><!DOCTYPE html><html xmlns"http://www.w3.…

idea 错误: 找不到或无法加载主类(汇总贴)

大家好&#xff0c;我是烤鸭&#xff1a; 现在是采坑实录。 idea 错误: 找不到或无法加载主类 xxx.xxx.xxxxx JDK环境&#xff0c;maven项目还是ee还是web项目&#xff0c;是否都正常。 如果是用idea打开的话,在源码目录上点击右键,然后找到Mark directory as->source ro…

爬虫,关于 video 标签 src 带有blob:http的 一些想法

大家好&#xff0c;我是烤鸭&#xff1a; 之前玩爬虫的时候&#xff0c;看到过video标签中src属性引入的blob:http:xxxx&#xff0c;当时没找到解决思路&#xff0c;今天又遇到类似问题&#xff0c;就试着找了一下。 这是有人问过 https://vimeo.com/ 这个网站的视频怎么下载。…

Epson打印机连接wifi

环境 Epson L3153 打印机联通无线光猫 背景 最近家里的联通宽带不太稳定&#xff0c;经常断网。今天打了联通客服电话&#xff0c;师傅上门来&#xff0c;说可能是光猫用的时间太长了&#xff0c;换了一个新的联通光猫&#xff0c;问题解决。 wifi的名称是 CU_Y3ft 和 CU_Y3…

[vue] vue使用v-for遍历对象时,是按什么顺序遍历的?如何保证顺序?

[vue] vue使用v-for遍历对象时&#xff0c;是按什么顺序遍历的&#xff1f;如何保证顺序&#xff1f; image 1、会先判断是否有iterator接口&#xff0c;如果有循环执行next()方法 2、没有iterator的情况下&#xff0c;会调用Object.keys()方法&#xff0c;在不同浏览器中&…

一个下载Google code源码的 绿色、迷你工具 MiniSVN v1.0

一个下载Google code源码的 绿色、迷你工具 MiniSVN v1.0 想下载Google code中的源码 不需要装各种软件&#xff0c;只需要一个小工具即可&#xff01; 如何使用&#xff1f; 访问一个谷歌开源项目网站&#xff0c;比如&#xff1a;https://code.google.com/p/deguang-ticke…

Visual.Assist.X.V10.7.1940的汉化破解补丁

Visual Assist X V10.7.1940的汉化破解补丁&#xff0c;方便各位朋友。 从该版本开始&#xff0c;本博客会跟踪升级&#xff0c;请留意。 关于菜单的汉化请看&#xff1a;http://blog.csdn.net/afu45/article/details/9145293 汉化方法 先安装英文原版软件。下载地址&#…

此时无足够的可用内存,无法满足操作的预期要求,可能是由于虚拟地址随便造成的。请稍候重试。 .

vs提示“此时无足够的可用内存&#xff0c;无法满足操作的预期要求&#xff0c;可能是由于虚拟地址随便造成的。请稍候重试。” 下载下面的补丁就可以了 . 下载地址&#xff1a; http://download.csdn.net/detail/afu45/4053280

Visual.Assist.X 菜单汉化

在Visual Studio 2010下 使用 Visual.Assist.X.V10.7.1940汉化破解补丁 之后&#xff0c; 细心的朋友会发现&#xff1a;Visual Studio的菜单内还是英文的。其实这个也是可以汉化的&#xff0c;方法如下&#xff1a; 在Microsoft Visual Studio的菜单上右键单击 -》 选择最后…

金士顿 8G u盘 红色 量产记录

找了好多教程&#xff0c;只有这个成功了&#xff0c;记录下来 逻辑盘符 : H:\ 此分区容量: 7.1G 设备ID : VID 0951 PID 1642 设备序列号: 001CC0EC348CBBB170000294 设备版本 : PMAP 设备制造商: Kingston 设备型号 : DT 101 G2 当…

(十九)hashlib模块

hashlib模块用于加密相关的操作&#xff0c;3.x里代替了md5模块和sha模块&#xff0c;主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 &#xff0c;MD5 算法 注意&#xff1a;md5和sha256算法都是单向加密&#xff0c;即明文加密为密文后&#xff0c;密文无法再解密回明文 适合…

2019 CCPC-Wannafly Winter Camp Div2 Day1

补题进度 7/11 J 夺宝奇兵 范围较小&#xff0c;直接枚举靠多少票赢即可&#xff0c;不够的票从小到大买 #include<bits/stdc.h> #define ll long long const int maxn 1005; using namespace std; struct node {ll id,val;int pos; }p[maxn],P[maxn]; bool vis[maxn]; …

在Airtest中如何使用无线模式控制手机

在Airtest中如何使用无线模式控制手机 在使用Airtest超快速开发App爬虫文章的最后&#xff0c;我们留了一个尾巴&#xff1a;如何启动Airtest的无线模式&#xff0c;不用USB线就能控制手机&#xff1f; 本文将会讲到具体的做法。做法分为两种&#xff1a;第一种是在Airtest的ID…

tab页

图片&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title></title> <style type"text/css"> /* 上边tab */ html {font-size: 14px }body {margin: 0;padding:…

JMeter 性能测试实例

一、性能测试分类&#xff1a; 1、基准测试 2、并发测试 3、负载测试 4、压力测试 1、基准测试&#xff1a; 也是单用户测试&#xff0c;测试环境确定以后&#xff0c;对业务模型中的重要业务做单独的测试&#xff0c;获取单用户运行时的各项性能指标&#xff0c;为多用户并发测…

Django学习之十一:真正理解Django的路由分发和反解url原理

目录 URL Dispatcher简介模式概念对比URLPattern 与 URLResolver (多态的体现)构建子路由几种方式反解url算法逻辑URL Dispatcher 简介 django的url dispatcher 设计是基于一个url mapper来工作的。 这个url mapper主要用在两个方向&#xff1a; url 匹配到 视图通过提供的标识…

Unable to locate tools.jar

初使用ant的时候&#xff0c;打开cmd&#xff0c;使用ant -version查看ant版本以测试ant是否能正常工作&#xff0c; 我先前是已经将ant的bin目录添加进入环境变量中了&#xff0c;后来运行中报了这么一个错误&#xff1a; 解决办法就是将C:\Program Files (x86)\Java\jdk1.6.…

你所忽略的,覆盖equals时需要注意的事项《effective java》

我们都知道Object的equals的比较其实就是的比较&#xff0c;其实是内存中的存放地址的比较。正常逻辑上&#xff1a;类的每个实例本质上都是唯一的。 在工作中我们实际的业务逻辑往往有可能出现一些相对特殊的需求需要对equals方法进行重写&#xff0c;那么重写equals需要注意哪…