mongoDB非关系型数据库学习记录

一、简介

1.1Mongodb是什么

MongoDB是一个基于分布式文件存储的数据库,官方地址https://www.mongodb.com/

1.2数据库是什么

数据库(DataBase)是按照数据结构来组织、存储和管理数据的应用程序

1.3数据库的作用

数据库的主要作用就是管理数据,对数据进行增©、删(d)、改(u)、查®

1.4数据库管理数据的特点

相比于纯文件管理数据,数据库管理数据有如下特点:

  1. 速度更快
  2. 扩展性更强
  3. 安全性更强

二、核心概念

Mongodb中有三个重要概念需要掌握

  • 数据库(database)
  • 集合(collection)数据库是一个数据仓库,数据库服务下可以创建很多数据库,数据库中可以存放很多集合,集合类似于JS中的数组,在集合中可以存放很多文档
  • 文档(document)文档是数据库中的最小单位,类似于JS中的对象
    在这里插入图片描述
    大家可以通过JSON文件来理解Mongodb中的概念
  • 一个JSON文件好比是一个**数据库,**一个Mongodb服务下可以有N个数据库
  • JSON文件中的一级属性的数组值好比是集合
  • 数组中的对象好比是文档
  • 对象中的属性有时也称之为字段

mongoDB的下载安装与启动

下载地址:https://www.mongodb.com/try/download/community
建议选择zip类型,通用性更强
配置步骤如下:
1>将压缩包移动到C:\ProgramFiles下,然后解压
2>创建C:\data\db目录,mongodb会将数据默认保存在这个文件夹
3>以mongodb中bin目录作为工作目录,启动命令行
运行命令mongod
在这里插入图片描述
看到最后的waiting for connections则表明服务已经启动成功

注意:

  • 为了方便后续方便使用mongod命令,可以将bin目录配置到环境变量Path中
  • 千万不要选中服务端窗口的内容,选中会停止服务,可以敲回车耳汉消选中

数据库与集合命令

4.1数据库命令

  1. 显示所有的数据库
show dbs
  1. 切换到指定的数据库,如果数据库不存在会自动创建数据库
use 数据库名
  1. 显示当前所在的数据库
db
  1. 删除当前数据库
use 库名
db.dropDatabase()

4.2集合命令

  1. 创建集合
db.createCollection('集合名称')
  1. 显示当前数据库中的所有集合
show collections
  1. 删除某个集合
db.集合名.drop()
  1. 重命名集合
db.集合名.renameCollection('newName')

4.3文档命令

  1. 插入文档
db.集合名.insert(文档对象);
  1. 查询文档
db.集合名.find(查询条件)

_id是mongodb自动生成的唯一编号,用来唯一标识文档 3. 更新文档

db.集合名.update(查询条件,新的文档)
db.集合名.update({name:'张三'},{$set:{age:19}})
  1. 删除文档
db.集合名.remove(查询条件)

4.4 应用场景

4.4.1新增

用户注册
发布视频
发布商品
发朋友圈
发评论
发微博
发弹幕

4.4.2删除

删除评论
删除商品
删除文章
删除视频
删除微博

4.4.3更新

更新个人信息
修改商品价格
修改文章内容

4.4.4查询

商品列表
视频列表
朋友圈列表
微博列表
搜索功能

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

项目实战之RabbitMQ冗余双写架构

🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:项…

YOLOv7全网独家首发改进:SENet v2,Squeeze-Excitation模块融合Dense Layer,效果秒杀SENet

💡💡💡本文自研创新改进:SENet v2,针对SENet主要优化点,提出新颖的多分支Dense Layer,并与Squeeze-Excitation网络模块高效融合,融合增强了网络捕获通道模式和全局知识的能力 推荐指数:五星 收录 YOLOv7原创自研 https://blog.csdn.net/m0_63774211/category_12…

【localhost refused to connect】解决 linux服务器启动 jupyter notebook 后本地浏览器打不开

问题描述 在linux上输入: jupyter notebook 命令后,弹出的火狐浏览器可以打开笔记本,但是复制它给的加密 url 到 Google 或者 Edge 浏览器都出现如下情况: 解决办法 1. 生成 jupyter notebook 配置文件 在 linux 命令行输入如下…

2023年小美赛认证杯A题太阳黑子预测(Sunspot Forecasting)思路模型代码解析

2023年小美赛认证杯A题:太阳黑子预测(Sunspot Forecasting) 【请电脑打开本文链接,扫描下方名片中二维码,获取更多资料】 一、问题重述 太阳黑子是太阳光球上的现象,呈暂时性斑点,比周围区域…

Xilinx FPGA——ISE的UCF时序约束

时序约束是我们对FPGA设计的要求和期望,例如,我们希望FPGA设计可以工作在多快的时钟频率下等等。 设计是要求系统中的每一个时钟都进行时序约束。 一、分组约束语法(NET、PIN、INST) TNM是最基本的分组约束语法,其语法…

ubuntu/vscode下的c/c++开发之-CMake语法与练习

Cmake学习 1 语法特性介绍 基本语法格式:指令(参数 1 参数 2...) 参数使用括弧括起参数之间使用空格或分号分开 指令是大小写无关的,参数和变量是大小写相关的 set(HELLO hello.cpp) add_executable(hello main.cpp hello.cpp) ADD_EXECUTABLE(hello ma…

spring-cloud-alibaba 官方版本说明

版本说明 alibaba/spring-cloud-alibaba Wiki GitHub 云原生应用脚手架 构建方式:maven 语言:java springboot 2.7.6 架构:单模块,mvc 架构 下面是脚手架生成。。。。。。。。。。。。。。。。。。。 单模块pom mvc 代码…

关于PFMEA的风险评估都在这里——SunFMEA软件

1、评价严重度 严重度应该独立于发生度和探测度的评价,不能认为发生概率低或者探测能力强,失效就不会到达顾客手中,不会造成糟糕的失效影响,严重度就低。 其实,严重度评估的是已经识别的失效链的严重程度&#xff0c…

Oracle忘记所有密码怎么办

最近遇到一个Oracle的问题,密码要过期了,但是除了用户密码,其他密码都不知道了,修改不了密码怎么办呢? 试了各种方法,最终下面的方式生效了: 首先,使用orapwd生成新的密码文件&…

六、三台主机免密登录和时钟同步

目录 1、免密登录 1.1 为什么要免密登录 1.2 免密 SSH 登录的原理

CSS 在性能优化方面的实践

前言 CSS(层叠样式表)是一种用于描述网页外观和格式的语言。随着网页变得越来越复杂,CSS文件的大小也随之增加,这可能会对网页性能产生负面 .box {width: 100px;height: 100px;transition: transform 0.3s; }.box:hover {transf…

Java全栈基础篇--集合

集合 集合:集合是java中提供的一种容器,可以用来存储多个数据。 特点: 长度不固定,还可以存储不同的数据(但是一般都用同一类型) 集合和数组既然都是容器,它们有啥区别呢? 数组的长…

数据可视化工具APITable:实现强大的多维表格功能并随时随地远程访问

APITable免费开源的多维表格与可视化数据库公网远程访问 文章目录 APITable免费开源的多维表格与可视化数据库公网远程访问前言1. 部署APITable2. cpolar的安装和注册3. 配置APITable公网访问地址4. 固定APITable公网地址 前言 vika维格表作为新一代数据生产力平台&#xff0c…

血的教训---入侵redis并免密登录redis所在服务器漏洞复现

血的教训—入侵redis并免密登录redis所在服务器漏洞复现 今天就跟着我一起来入侵redis并免密登录redis所在服务器吧,废话不多说,我们直接开始吧。 这是一个体系的学习步骤,当然如果基础扎实的话可以继续往下面看 以下都是关联的文章&#xff…

算法与数据结构有区别吗?

算法和数据结构并不是同一件事。严格来说,它们并不是等效的。但是,我们通常在使用的时候会互换这两个术语。为了简便,后文我们会用数据结构这个术语来指代“数据结构及其所有相关的方法”。 有很多方法可以用来说明这两个术语之间的区别&…

python执行shell

0x00:前言 正常一个网站分为服务端和客户端,因为是正向的,所以服务端是在目标机器上的,客户端则是攻击者机器上,在这里要感谢MiaGz大师傅,这里很多都是参考了MiaGz大师傅的文章写出来的,进行了一点个人修改…

STM32/GD32_分散加载

Q:如何将一个变量、某个源文件的函数在编译阶段就存储在用户指定的区域? KEIL环境:.map后缀文件、.sct后缀文件 IAR环境:.map后缀文件、.icf后缀文件 【map文件】 对固件里面的变量、函数、常量等元素的存储空间进行分配的说明…

【android开发-04】android中activity的生命周期介绍

1,返回栈 android中使用任务task来管理activity,一个任务就是一组存放在栈里的活动的集合,这个栈被称为返回栈。栈是一种先进先出的数据结构。当我们启动一个新的活动,他会在返回栈中人栈,并处以栈顶的位置&#xff0…

刘恋对话贾樟柯:焦虑往往是因为我们还有的选

11月29日,由房产服务国民品牌我爱我家与贾樟柯联合呈现的《住进每一种生活》,在乐迷和网友的热烈期盼下迎来了第三期。自首期节目在腾讯视频和极光TV播出以来,《住进每一种生活》频频在社交媒体上引发观众热议。 《住进每一种生活》以六位名…

指纹芯片的工作原理及应用领域详解

指纹芯片是一种利用指纹识别技术的电子设备,可以通过扫描人体指纹的纹理特征,将其转化为数字化信息并进行存储和识别。指纹芯片广泛应用于各个领域,包括智能手机、银行和金融、门禁系统、身份验证等,因其高度准确、快速便捷的特点,得到了广大用户的青睐。 指纹芯片的原理是基于…