学无止境·MySQL⑨(MongoDB)

news2024/12/23 9:23:37

MongoDB的安装及使用

  • MongoDB
    • 1、MongoDB的安装与启动
    • 2、创建一个数据库 名字grade
    • 3、数据库中创建一个集合名字 class
    • 4、集合中插入若干数据文档格式如下
    • 5、查找
      • 查看班级所有人信息
      • 查看班级中年龄为8岁的学生信息
      • 查看年龄大于10岁的学生信息
      • 查看年龄在 4---8岁之间的学生信息
      • 找到年龄为6岁且为男生的学生
      • 找到年龄小于7岁或者大于10岁的学生
      • 找到年龄是8岁或者11岁的学生
      • 找到兴趣爱好有两项的学生
      • 找到兴趣爱好有draw的学生
      • 找到既喜欢画画又喜欢跳舞的学生
      • 统计爱好有三项的学生人数
      • 找出本班年龄第二大的学生
      • 查看学生的兴趣范围
      • 将学生按年龄排序找到年龄最大的三个
      • 删除所有 年级大于12或者小于4岁的学生
    • 增加、更新、删除、统计
      • 将小红的年龄变为8岁 兴趣爱好变为 跳舞 画画
      • 追加小明兴趣爱好 唱歌
      • 小王兴趣爱好增加 吹牛 打篮球
      • 小李增加爱好,跑步和唱歌,但是不要和以前的重复
      • 该班所有同学年龄加1
      • 删除小明的sex属性
      • 删除小李兴趣中的第一项
      • 将小红兴趣中的画画爱好删除

MongoDB

1、MongoDB的安装与启动

vim /etc/yum.repos.d/mongdbd.repo
[mongodb-org]
name=mongodb-org
baseurl=http://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el7-5.0/
gpgcheck=0
yum install mongodb-org
systemctl start mongod
systemctl status mongod
在这里插入图片描述

2、创建一个数据库 名字grade

use grade;
在这里插入图片描述

3、数据库中创建一个集合名字 class

db.createCollection(“class”)
在这里插入图片描述

4、集合中插入若干数据文档格式如下

{name:‘zhang’,age;10,sex:‘m’,hobby:[‘a’,‘b’,‘c’]}
hobby: draw sing dance basketball football pingpong computer

在这里插入图片描述

5、查找

查看班级所有人信息

db.class.find()
在这里插入图片描述

查看班级中年龄为8岁的学生信息

db.class.find({age:8})
在这里插入图片描述

查看年龄大于10岁的学生信息

db.class.find({age:{$gt:10}})
在这里插入图片描述

查看年龄在 4—8岁之间的学生信息

db.class.find({age:{ g t : 4 , gt:4, gt:4,lt:10}})

在这里插入图片描述

找到年龄为6岁且为男生的学生

db.class.find({age:6,sex:‘m’})

找到年龄小于7岁或者大于10岁的学生

db.class.find({KaTeX parse error: Expected '}', got 'EOF' at end of input: or:[{age:{gt:10}},{age:{$lt:7}}]})
在这里插入图片描述

找到年龄是8岁或者11岁的学生

在这里插入图片描述

db.class.find({age:{$in:[8,11]}})

找到兴趣爱好有两项的学生

db.class.find({hobby:{$size:2}})

找到兴趣爱好有draw的学生

db.class.find({hobby:“draw”})在这里插入图片描述

找到既喜欢画画又喜欢跳舞的学生

db.class.find({hobby:{$all:[“draw”,“dance”]}})在这里插入图片描述

统计爱好有三项的学生人数

db.class.find({hobby:{$size:3}}).count()
在这里插入图片描述

找出本班年龄第二大的学生

db.class.find().sort({age:-1}).skip(1).limit(1)
在这里插入图片描述

查看学生的兴趣范围

db.class.distinct(‘hobby’)
在这里插入图片描述

将学生按年龄排序找到年龄最大的三个

db.class.find().sort({age:-1}).limit(3)
在这里插入图片描述

删除所有 年级大于12或者小于4岁的学生

db.class.remove({KaTeX parse error: Expected '}', got 'EOF' at end of input: or:[{age:{gt:12}},{age:{$lt:4}}]})
在这里插入图片描述

增加、更新、删除、统计

将小红的年龄变为8岁 兴趣爱好变为 跳舞 画画

db.class.update({“name”:“小红”},{$set:{age:8,hobby:[‘dance’,‘draw’]}})
在这里插入图片描述

追加小明兴趣爱好 唱歌

db.class.update({“name”:“小明”},{$push:{hobby:‘sing’}})
在这里插入图片描述

小王兴趣爱好增加 吹牛 打篮球

db.class.update({“name”:“小王”},{$push:{hobby:[‘吹牛’,‘basketball’]}})
在这里插入图片描述

小李增加爱好,跑步和唱歌,但是不要和以前的重复

db.class.update({‘name’:‘li’},{KaTeX parse error: Expected '}', got 'EOF' at end of input: …dToSet:{hobby:{each:[‘running’,‘sing’]}}})
在这里插入图片描述

该班所有同学年龄加1

db.class.update({},{$inc:{age:1}},false,true)
在这里插入图片描述

删除小明的sex属性

db.class.update({name:‘小明’},{$unset:{sex:0}})
在这里插入图片描述

删除小李兴趣中的第一项

db.class.update({name:‘li’},{$pop:{hobby:-1}})
在这里插入图片描述

将小红兴趣中的画画爱好删除

db.class.update({name:‘小红’},{$pull:{hobby:‘draw’}})
在这里插入图片描述

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

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

相关文章

接口测试之基于SaaS平台的iHRM项目的前端部署配置(踩坑版)

基于SaaS平台的iHRM项目的前端部署配置 下载安装node.js3.从Git上下载项目安装依赖包的改进方法 关于的部署可以参考基于SaaS平台的iHRM项目的前端部署教程博客 但本人在参考配置的过程中遇到了很多问题…于是写下这篇博客 下载安装node.js 可以访问https://nodejs.org/en下载…

利用Python绘制直方图和散点图

1 问题 利用python如何绘制直方图和散点图。 2 方法 # ------ 直方图import matplotlib.pyplot as pltimport numpy as npimport matplotlib# 设置matplotlib正常显示中文和负号matplotlib.rcParams[font.sans-serif] [SimHei] # 用黑体显示中文matplotlib.rcParams[axes.unic…

前端学习记录~2023.7.3~CSS杂记 Day4

前言一、溢出1. 默认情况2. overflow属性3. BFC 二、CSS 的值与单位1. 长度(1)绝对长度单位(2)相对长度单位 2、百分比3、数字4、颜色(1)颜色关键字(2)十六进制 RGB 值(3…

单片机第一季:零基础7——定时器和计时器

目录 1,单片机定时器原理 2,51单片机定时器/计数器结构 3,定时器配置 4,示例代码-通过定时器控制LED灯间隔1s闪烁 51 单片机有两组定时器/计数器,因为既可以定时,又可以计数,故称之为定时…

JPA实现多对多关系

本文已收录于专栏 《Java》 目录 概念说明优势利弊实现方式通过两个ManyToMany注解实现类图代码 通过OneToMany和ManyToOne注解实现类图代码 总结提升 概念说明 多对多关系是指两个实体之间存在多对多的关联关系。在数据库中,多对多关系无法直接表示,需要…

javascript截取两个符号之间的字符串(2):lastIndexOf匹配和正则表达式匹配

lastIndexOf匹配和正则表达式匹配 项目需求1.规范的字符串2.不规范的字符串3-1.万能封装3-2.ChatGPT的优化写法4.正则表达式的用法5.补充知识:lastIndexOf的用法 项目需求 javascript中截取字符串中最后一个“/”和“?”之间的内容。 1.规范的字符串 https://tes…

100天精通Python(可视化篇)——第96天:Pyecharts绘制多种炫酷箱形图参数说明+代码实战

文章目录 专栏导读1. 箱形图介绍1)箱形图介绍2)怎么看箱型图?3)解释说明 2. 普通箱型图3. 水平箱型图4. 群组箱型图5. 带异常点的箱型图 专栏导读 🔥🔥本文已收录于《100天精通Python从入门到就业》&#…

Docker实战总结

Docker 官方文档地址:https://www.docker.com/get-started 中文参考手册:https://docker_practice.gitee.io/zh-cn/ 1.什么是 Docker 1.1 官方定义 最新官网首页 # 1.官方介绍 - We have a complete container solution for you - no matter who you are and where you are…

线性回归--波士顿房屋价格预测

一、波士顿房屋价格预测代码 import sysimport pandas as pd import numpy as np from sklearn.linear_model import LinearRegression import matplotlib.pyplot as plt import matplotlib as mpt from sklearn.model_selection import train_test_split##加载数据 datapd.re…

Druid工作原理

Druid工作原理-连接池初始化流程 标题 Druid工作原理-获取连接流程: 连接回收:

类定义练习

运行代码: //类定义练习 #include"std_lib_facilities.h" #include"GUI/Simple_window.h" #include"GUI/GUI.h" #include"GUI/Graph.h" #include"GUI/Point.h" //定义类 class Person { private:string first_n…

直流有刷驱动板电流电压采集

直流有刷驱动板电流电压采集 电流采集会涉及到电流环的使用。 #include "./adc/bsp_adc.h" #include ".\motor_control\bsp_motor_control.h" #include "./led/bsp_led.h" #include "./usart/bsp_debug_usart.h"__IO uint16_t…

vue-element-admin深入系列-数据Mock

本文介绍 vue-element-admin 如何使用 MockJS 实现数据Mock,毕竟对于一个合格的前端来讲,自己能Mock数据是必须的: 自给自足,不用依赖服务端接口。毕竟环境问题是个大问题,更何况环境不稳定是常态,再加上偶尔服务端的数据格式变化,问题就更复杂。 数据复杂,页面复杂时。…

HackTheBox - 学院【CPTS】复习6 - Active Directory

ACTIVE DIRECTORY ENUMERATION & ATTACKS 这个模块其实与thm的AD教程相比,还是thm更适合刚开始接触AD以及学习从枚举到持久化的全阶段(红队)。而htb学院这个模块更注重于枚举和各种攻击手段,有点纯渗透的风格,弱化…

通过动态IP解决网络数据采集问题

动态地址的作用 说到Python网络爬虫,很多人都会遇到困难。最常见的就是爬取过程中IP地址被屏蔽。虽然大部分都是几个小时内自动解封的,但这对于分秒必争的python网络爬虫来说,是一个关键性的打击!当一个爬虫被阻塞时,…

Java内部类笔记

1.为什么使用内部类? 使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现, 对于内部类都没有影响 1.1.使用内部类最大的优点…

TCP/IP基础知识笔记

应用层:为用户提供应用功能,比如 HTTP、FTP、Telnet、DNS、SMTP等。 应用层是工作在操作系统中的用户态,传输层及以下则工作在内核态。 传输层:为应用层提供网络支持。 *TCP包含众多特性比如流量控制、超时重传、拥塞控制等因此可…

pytorch深度学习逻辑回归 logistic regression

# logistic regression 二分类 # 导入pytorch 和 torchvision import numpy as np import torch import torchvision from torch.autograd import Variable import torch.nn as nn import torch.nn.functional as F import torch.optim as optim import matplotlib.pyplot as …

(简单)剑指Offer II 056. 二叉搜索树中两个节点的和 Java

方法一:深度优先搜索哈希表 使用深度优先搜索的方式遍历整棵树,用哈希表记录遍历过的节点的值 对于一个值为x的节点,检查哈希表中是否存在k-x即可。如果存在对应的元素,那么我们就可以在该树上找到两个节点的和为k;否…

河流垃圾检测Y8S

【免费】河流垃圾检测Y8M,只需要OPENCV资源-CSDN文库 采用YOLOV8训练,得到PT模型,然后直接转ONNX,使用OPENCV的DNN,不需要其他依赖,支持C/PYTHON