MongoDB 从入门到精通----编程不良人学习笔记

MongoDB高手课学习笔记(一,再入门) 这是极客时间-MongoDB高手课的学习笔记,第一章:再入门. 按照数据库排名网站db-engines.com的统计,最近几年MongoDB一直保持在前四五名,前面几位是年龄30多岁的关系型数据库(Oracle,Mysql,SQLServer,PostgreSQL). 阅读详情

编程不良人教学 共 7个半小时

https://www.bilibili.com/video/BV1KE411778M?p=2

P1.mongodb的引言----------------53:33
P2.mongodb中的常用指令----------47:32
P3.mongo中的查询基本使用--------44:13
P4.java客户端连接mongodb--------1:08:41
P5.mongodb索引概念--------------46:25
P6.mongodb的复制----------------1:08:15
P7.mongodb副本集搭建------------55:32
P8.mongo中的分片操作------------39:45
P9.mongodb中分片----------------32:43

在这里插入图片描述

P1.mongodb的引言

官网 https://www.mongodb.com/
当前版本 4.4 ,从4.0 开始 mongodb 有 transaction事务的概念了

mongodb 企业版收费,使用社区版

yum install -y mongodb-org
在这里插入图片描述https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
在这里插入图片描述

https://www.mongodb.com/try/download/community

在这里插入图片描述在这里插入图片描述Supported Platforms¶

Changed in version 3.4: MongoDB no longer supports 32-bit x86 platforms.

通过yum 方式安装 mongodb ,默认安装路径 /usr/bin

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

启动Mongodb

启动服务端 (注意这种方式只支持本地访问,局域网内的其他用户不可以访问)
mongod --port=27017 --dbpath=/root/data
启动客户端
mongo --port 27017

P2.mongodb中的常用指令—

在这里插入图片描述use ems;
show tables;
db.createCollection(“t_user”);

for(var i=0;i<10;i++){
db.t_user.insert({“id”:i,“name”:“xiaohei”,“addr”:“xuzhou”,“age”:11});
}

db.t_user.find();

20201115


P3.mongo中的查询基本使用

在这里插入图片描述

//01 基本查询

//查询所有
db.t_user.find();

//查询一个
db.t_user.findOne();

//精确查询
db.t_user.find({name:“xiaohei”});
db.t_user.findOne({name:“xiaohei”});
db.t_user.find({name:“xiaohei”,“id”:6});

//过滤查询结果
//({},{}) 第二个参数是查询结果 0:查询结果不显示此字段 1:查询结果显示此字段
db.t_user.find({},{name:1,age:1});
db.t_user.find({},{name:0});
// 1 ,0 不能混用 报错
db.t_user.find({},{name:0,age:1});

//查询结果排序
//sort 1 :升序排序 -1:降序排序
db.t_user.find().sort({age:-1});
//sort 可以指定多个值排序
db.t_user.find().sort({age:-1,name:1});

//分页
// skip(起始条数).limit(每页记录数)
db.t_user.find().skip(0).limit(2);

//总条数
db.t_user.count();
db.t_user.find().count();

//模糊查询
//下面错误 不要加" 双引号
db.t_user.find({name:"/xx/"});
// 下面是正确的
db.t_user.find({name:/xx/});

//02 高级查询

//等值查询
db.t_user.find({name:“小黑”});
db.t_user.find({name:{$eq:“小黑”}});

//and 查询
db.t_user.find({name:“小黑”,age:13});
db.t_user.find(
{KaTeX parse error: Expected 'EOF', got '}' at position 29: …小黑"},{age:13} ]}̲ ); db.t_user.f…and:[
{name:“小黑”,age:13}
]}
);

//or 查询
db.t_user.find(
{$or:[
{name:“小黑”},{age:13}
]}
);

//关系运算相关 >(gt);<(gt) ; <(gt);<(lt) ; >=(gte);<=(gte) ; <=(gte);<=(lte) =($eq)

db.t_user.find({age:{KaTeX parse error: Expected 'EOF', got '}' at position 5: gt:6}̲}); db.t_user.f…gt:6,$lte:58}});

db.t_user.find({ KaTeX parse error: Expected '}', got 'EOF' at end of input: …hei"}, { age:{gt:6} ] } });

// not or ($nor ) 既不是1,也不是2

db.t_user.find({ KaTeX parse error: Expected '}', got 'EOF' at end of input: …hei"} ,{age:{gt:6}} ] });

20201117

P4.java客户端连接mongodb-----

纯mongo方式处理

在这里插入图片描述
在这里插入图片描述启动服务端( --bind_ip=0.0.0.0 支持非本地访问)
mongod --port=27017 --dbpath=/root/data --bind_ip=0.0.0.0
启动客户端
mongo --port 27017
在这里插入图片描述

spingBoot 整合 mongo 方式的处理

详细代码地址
https://github.com/wei198621/mongoDBTest

在这里插入图片描述

spingBoot 整合mongo 实际是springData 的方式处理

pom 文件


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!--springboot 方式-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.tiza.leo</groupId>
    <artifactId>mongoDB</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!--springboot 方式-->

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--引入springboot-mongodb的jar-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.4</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
        </dependency>
    </dependencies>
 



</project>

yml 文件

spring:
  data:
    mongodb:
      uri: mongodb://192.168.121.102:27017/ems

代码

package com.tiza.leo.springBootMongo.entity;

import lombok.Data;
import java.io.Serializable;
import java.util.Date;

/**
 * @author leowei
 * @date 2020/11/18  - 23:49
 */

@Data
public class User implements Serializable {

    private String id;
    private String name;
    private Integer age;
    private Date bir;


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Date getBir() {
        return bir;
    }

    public void setBir(Date bir) {
        this.bir = bir;
    }

    public User() {
    }

    public User(String id, String name, Integer age, Date bir) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.bir = bir;
    }
}

package com.tiza.leo.springBootMongo;

import com.tiza.leo.Application;
import com.tiza.leo.springBootMongo.entity.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.Date;
import java.util.UUID;


/**
 * @author leowei
 * @date 2020/11/18  - 23:45
 */

@SpringBootTest(classes = Application.class)
@RunWith(SpringRunner.class)
public class mongoTemplateTest {

    @Autowired
    private MongoTemplate mongoTemplate;

    @Test
    public void test(){
        User user = new User();
        user.setId(UUID.randomUUID().toString());
        user.setAge(18);
        user.setBir(new Date());
        user.setName("leo");

        mongoTemplate.save(user);


    }

}

效果
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

P5.mongodb索引概念–

P6.mongodb的复制—

P7.mongodb副本集搭建–

P8.mongo中的分片操作–

P9.mongodb中分片—

FPGA高速通信双核解析:CMAC与Interlaken硬核的实战对比 本文深入对比了FPGA中两大高速通信硬核CMAC与Interlaken的核心差异与应用场景。CMAC作为标准以太网接入方案,适用于网卡、交换机等需对外互联的场景;而Interlaken则以极低延迟和高效通道化能力,专为芯片间、板间裸数据高速传输设计。文章通过实战案例与性能指标分析,为FPGA高速通信方案选型提供清晰指南。 阅读详情

相关推荐

Kettle 连接 Oracle 数据库全流程指南

例如:C:\Oracle\product\19.0.0\dbhome_1\jdbc\lib\ojdbc8.jar 2. 替换 Kettle 驱动文件 将驱动文件复制到 Kettle 的 目录: 删除旧版本驱动:如 ojdbc14.jar 只能保留一个oracle驱动 重启 Kettle 以加载新驱动 二、配置数据库连接 1. 启动 Kettle 并新建转换 运行 (Windows)或 (Linux)。 新建转换(Transformation),添加 “表输入” 步骤,双击进入配置。 2.

qq_44724453的博客 3482

all any 或 此运算符后面必须跟_any和all组合运算符用法区别

1、类型不同这两个都是用于子查询的,any 是任意一个,all 是所有。2、用法不同select * from student where 班级='01' and age > all (select age from student where 班级='02');就是说,查询出01班中,年龄大于 02班所有人 的 同学相当于select * from student where 班级='01...

weixin_42511396的博客 1664

飞腾D2000开发板实战:手把手教你为UEFI/EDK2驱动SD3077 RTC时钟芯片

本文详细介绍了在飞腾D2000开发板上为UEFI/EDK2环境驱动SD3077 RTC时钟芯片的全流程开发指南。从硬件连接到软件适配,包括引脚复用配置、电源管理优化以及UEFI驱动的深度定制,帮助开发者解决嵌入式系统中的时间同步问题,确保RTC芯片的稳定性和准确性。

weixin_30892037的博客 423

ORACLE ORA错误码大全 (备忘)

ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换会话 ORA-00022: 无效的会话 ID;访问被拒绝 ORA-00023: 会话引用进程私用内存;无法分离会话 ORA-00...

will_legend的博客 9258

《通信工程施工与管理》

制作馈线接头必须使用专用的工具,专用工具包括:馈线切割刀、馈线安全刀、小金属丝毛刷、固定尺寸或大号活动扳手、小号扁锉刀、细齿小手锯、接头扩孔器、3M防水胶或防水接头盒;如图所示,详情如表所示。

2302_78710464的博客 1653

手把手教你用Docker快速部署开源MES系统(附避坑指南)

本文提供了一份详细的实战指南,手把手教你使用Docker容器化技术快速部署开源MES系统。内容涵盖从环境准备、项目选型、数据库配置到应用服务器优化、前端部署及生产环境监控的全流程,并附有避坑指南,旨在帮助中小制造企业IT人员和开发者低成本、高效率地构建智能制造解决方案。

f0g1h2的博客 1060

all any 或 此运算符后面必须跟_SQL ANY and ALL 运算符

SQL ANY and ALL 运算符SQL ANY和ALL 运算符ANY和ALL运算符与WHERE或HAVING子句一起使用。如果任何子查询值满足条件,则ANY运算符返回true。如果所有子查询值满足条件,则ALL运算符返回true。ANY 语法SELECT column_name(s)FROM table_nameWHERE column_name operator ANY(SELECT co...

weixin_33479657的博客 964

【凌智视觉模块】rv1106 部署 pp-humseg 模型

人像分割技术实现摘要 人像分割是利用计算机视觉技术将图像/视频中的人物与背景分离的像素级处理技术。凌智视觉模块基于RV1106芯片开发,支持高效视觉模型部署。当前主流方法包括PP-HumanSeg、BiSeNet等深度学习模型,其中PP-HumanSegV2以96.63% mIoU精度和63FPS手机端速度成为SOTA方案。 实现流程包含: 初始化RKNN模型后端 图像预处理(尺寸调整、颜色空间转换) 执行模型推理 后处理(概率解码、动态阈值分割、形态学优化) 代码实现要点: 使用RKNPU2Backend

m0_50786932的博客 986

python issuperset_收藏了!最全面的 Python 重点,没有之一

作者:二十一https://segmentfault.com/a/1190000018737045由于总结了太多的东西,所以篇幅有点长,这也是我"缝缝补补"总结了好久的东西。Py2 VS Py3print成为了函数,python2是关键字不再有unicode对象,默认str就是unicodepython3除号返回浮点数没有了long类型xrange不存在,range替代了xrange可以使用中文定...

weixin_39835965的博客 386

01 - 什么是SVM

摘要:SVM(共享虚拟内存)技术使CPU和GPU能共享同一虚拟地址空间,简化异构计算编程。传统模型需手动管理CPU/GPU内存和拷贝数据,而SVM允许直接传递指针,自动处理页面迁移和一致性维护。其核心包括统一地址空间、按需迁移、页面故障处理和一致性管理,显著降低编程复杂度并提升性能。通过HMM框架、MMU通知和GPU页面异常等机制实现高效内存共享,支持复杂数据结构,为异构计算带来便利。

图形/计算GPU的驱动与虚拟化技术分享园地 3132

【WRFDA运行第五期】运行 OBSGRID 客观分析

运行 OBSGRID 客观分析

WW、forever的博客 1047

【编程不良人】MongoDB最新实战教程学习笔记

【编程不良人】MongoDB最新实战教程学习笔记

Mr.Cui的Java学习之路 1259

在 ABAP 世界把 SAML 2.0 玩明白:跨域 SSO 的通信模式、配置路径与落地实践

摘要 SAML 2.0是ABAP平台实现标准化SSO的推荐方案,提供Front-Channel(浏览器传递SAML报文)和Back-Channel(使用工件绑定通过SOAP兑换断言)两种通信方式。前者包括HTTP Redirect和POST绑定,后者通过Artifact绑定提升安全性。配置重点包括:激活ICF服务、使用SAML2事务码建立信任、设置用户标识映射、选择绑定方式(POST易调试、Artifact更安全)及配置安全策略(签名/加密)。典型流程包括SP-initiated和IdP-initiated

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 293

mongodb下载安装教程-mongodb七天从入门到精通系列【一】

MongoDB是一款领先的NoSQL数据库,以其灵活的文档模型、强大的扩展能力和高效的查询性能著称。它采用类似JSON的BSON格式存储数据,允许嵌套结构,非常适合处理复杂且多变的数据类型。MongoDB支持水平扩展,能够通过分片技术轻松管理海量数据,保证系统的高可用性和可靠性。此外,它还提供了丰富的查询语言和强大的索引支持,包括全文搜索和地理空间索引,满足多样化的查询需求。无论是初创公司快速迭代产品,还是大型企业处理大规模数据分析,MongoDB都能提供强有力的支持。其全面的功能集和灵活性使得开发者可以更

冲击AI顶流!!! 1138

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

MongoDB从入门到精通课程视频分享

MongoDB从入门到精通课程视频分享,共 17 次课。 有需要的同学可以留一下邮箱。

alloyer的技术博客 1284

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

MongoDB 学习笔记(入门看这一篇足矣)

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。旨在为WEB应用提供可扩展的高性能数据存储解决方案。百度百科介绍从上面的描述可以得知MangoDB 由 c++ 编写,运行效率自然不低分布式文件存储系统开源数据库系统,谁都可以用一个 MongoDB 可以建立多个数据库MongoDB 的默认数据库是 “”db” ,该数据库存储在 data 目录中。

2501_90254378的博客 899

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

两万字详解MongoDB从入门到精通

MongoDB入门到精通详解及高可用部署搭建详细流程

白大锅的博客,毕设WangLoveBai_999 4万+

mongodb数据库从入门到精通

mongodb数据库作为nosql的一种,目前在nosql数据库中的应用排名几乎是数一数二。开发中也会越来越受到重视,这里介绍命令行下操作mongo数据库的相关内容。 基础部分 连接数据库:一般连接数据库,直接使用mongo命令即可,如果连接远程数据库,需要通过--host指定远程数据库主机地址,如果还需要指定端口,那么加上--port参数。 创建数据库:mongo数据库和关系型数据库不一样...

feinifi的博客 1万+

MongoDB 从入门到精通

MongoDB 学习指南:从安装到实战 本文系统介绍 MongoDB 的核心知识与应用,包含以下重点内容: 基础概念:对比 SQL 与 NoSQL 差异,解析文档型数据库特点 环境部署:详细演示阿里云服务器安装 MongoDB 7.0 的全过程 远程连接:分步指导安全组配置、防火墙设置及用户认证 工具使用:推荐 TablePlus 等客户端连接工具 实战操作:涵盖基础 CRUD、查询操作符、索引优化和聚合管道 数据管理:讲解数据导入导出与备份策略 通过生活化类比和流程图,帮助开发者快速掌握 MongoDB

黄裳博客 827

MongoDB从入门到精通

Docker从入门到精通

qq_45443475的博客 1079

MongoDB快速入门到精通,看这篇就够了

mongodb核心概念讲解,应用场景介绍,与sql方式区别对比等,并学习如何使用shell命令操作mongodb,以及使用Java进行CRUD操作,最后带你了解常见三种集群架构,以及生产环境真实部署案例。

qq_36756227的博客 1905

Zabbix监控容器MongoDB,报错:Unknown metric mongodb

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论。(img-tXyEeHOg-1713032073999)]第一份《Linux从入门到精通》466页。

qd520_1314的博客 949

MongoDB CRUD操作完全指南:从入门到精通

在当今数据驱动的时代,数据库管理系统扮演着至关重要的角色。作为最受欢迎的NoSQL数据库之一,MongoDB以其灵活的数据模型、卓越的可扩展性和强大的查询能力赢得了开发者的青睐。本文将全面介绍MongoDB的核心操作——CRUD(创建、读取、更新、删除),帮助您掌握这一强大工具的基础与进阶用法。

vvilkin的学习备忘 1431
上一篇: linux 上传下载 文件 lrzsz
下一篇: VMWARE (VMware vmware ) 学习使用笔记 --苟声
wei198621
博客等级 码龄20年 169粉丝 388原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值