MongoDB学习之技术分享

747 阅读7分钟

前言

数据库主要分成两种:

  • 关系型数据库:MySQL、Oracle、DB2、Server......,关系型数据库中全是表
  • 非关系型数据库(No SQL): MongoDB、Redis......,非关系型数据库又分为键值对数据库和文档数据库。
    MongoDB简介

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。-百度百科

  • MongoDB是为了快速开发互联网web应用而设计的数据库系统
  • MongoDB的设计目标是极简、灵活、作为web应用栈的一部分
  • MongoDB的数据库模型是面向文档的,所谓文档是一种类似于JSON的结构,简单理解MongoDB这个数据库中存的是各种各样的文档。
  • 三个概念:
    • 数据库:数据库是一个仓库,在仓库中可以存放集合
    • 集合:集合类似于数组,在集合中可以存放文档
    • 文档:文档数据库中最小的单位,我们存储和操作的内容都是文档,MongoDB的文档的属性值也可以是文档,当一个文档的属性值也是文档时,我们称这个文档为内嵌文档

正文

##安装MongoDB 安装
可以在官网直接安装,如果光网安装不了那么可以使用百度网盘链接:pan.baidu.com/s/1lGPSDxXt… 提取码:52zi 复制这段内容后打开百度网盘手机App,操作更方便哦
或者私聊我我给你发文件,因为我上传不上去。

  • 安装好以后配置一下环境变量

只要安装的时候没有修改路劲新建的path一般都在C盘下的Program Files中,但是配置环境变量中的path必须到MongoDB文件中的bin为止,例如我的新建path是:C:\Program Files\MongoDB\Server\4.0\bin

启动mongo服务器和连接MongoDB

  • 在C盘根目录下创建一个文件夹data(别的名字也行),在data中创建一个文件夹db
  • 打开cmd命令窗口,输入mongod 启动mongo服务器,如果需要指定文件路径和port端口号则需要输入mongod --dbpath 文件夹路径。--port 端口号例如:mongod --dbpath C:\Users\111387\Desktop\data\bd --port 4568(最大不要超过65535)。32位系统启动服务器时需要输入如下内容mongod --storageEngine=mmapv1。

出现最后一行则说明启动服务器成功

  • 在不关闭上一个cmd命令窗口的前提下再打开一个新的cmd命令窗口输入 mongo 连接 mongodb。
    出现>则说明连接成功
  • 数据库(database)
    • 数据库的服务器
      • 服务器用来保存数据
      • mongod 用来启动服务器
    • 数据库的客户端
      • 客户端用来操作服务器,对数据进行增删改查的操作
      • mongo用来启动客户端

实现MongoDB自启动

每次启动服务器连接客户端都需要打开两个cmd命令行,就很烦人,所以呢我们可以来点操作实现自启动

  1. 在c盘根目录下创建data -在data下创建db和log(上面已经建过了)
  2. 创建配置文件
    在目录C:\Program Files\MongoDB\Server\4.0下添加一个配置文件mongod.cfg(如果不能直接添加,可以在桌面新建记事本然后改掉后缀,最后移进去),也就是在你们安装好了以后生成的MongoDB文件夹的bin文件同级下添加配置文件。文件中的内容必须是
systemLog:
	destination: file
	path: c:\data\log\mongod.log
storage:
	dbpath: c:\path\db
  1. 以管理员的身份打开命令行窗口(找到cmd命令行右键以管理员身份打开)
  2. 执行如下命令 sc.exe create MongoDB binPath= ""C:\Program Files\MongoDB\Server\4.0\bin\mongod.exe" --service --config="C:\Program Files\MongoDB\Server\4.0\mongod.cfg"" DisplayName= "MongoDB" start = "auto" c.exe create MongoDB binPath= ""mongo的bin目录\mongod.exe" --service --config="mongo的安装目录\mongod.cfg"" DisplayName= "MongoDB" start = "auto"
  3. 启动MongDB服务 在任务管理器中的服务里找到MongoDB然后启动
  4. 如果启动失败;证明上面的操作有误,在控制台输入 sc delete MongoDB 删除之前配置服务

成功之后直接打开一个cmd命令行工具输入mongo就能直接连接数据库启动客户端了。

基本概念和指令

基本概念

  • 数据库 (database)
  • 集合(collection)
  • 文档(document) -在MongoDB中,数据库和集合都不需要手动创建,当我们在创建文档时,如果文档所在的集合或数据库不存在时会自动创建数据库和集合

基本指令

  • show dbs 显示当前所有的数据
  • use 数据库名 进去到指定数据库中
  • db 查看当前所处的数据库 db代表当前的数据库
  • show collections 显示数据库中所有的集合

安装图形化工具和使用

每次使用数据库都要打开黑不拉几的命令行工具,而且还看不到数据库,就很不好玩,所以 点这在这里面点击安装进行图形化工具安装(这可是我找了好久的!)或者用百度网盘
链接:pan.baidu.com/s/13tSo3Ot2… 提取码:igbm 复制这段内容后打开百度网盘手机App,操作更方便哦

下载好了以后啊,就能很开心的使用了。

上面是我的库,点一下你就看到你的数据库和数据库里面的集合还有文档了。

告诉你们必须知道的,其他的你们自己玩。哦对了我的字的下面是执行结果显示区域。那样写太麻烦了就这样告诉你们吧。我懒🙃!

数据库的CRUD(增删改查)操作

添加

你先用show dbs 指令看看你有没有数据库。有你就直接用use指令use 你有的集合名,没有就直接use 自己取名字。我上面介绍过在MongoDB中,数据库和集合都不需要手动创建,当我们在创建文档时,如果文档所在的集合或数据库不存在时会自动创建数据库和集合。所以你use就行了它会给你建。

进入正题

先给你们看一下命令。然后再操作一下

当你增加一个文档时可以直接传一个对象参数就行,当你需要传递多个时,传递一个数组即可。每次输入完命令记得执行哦。上图中,第二次我插入了三个文档数据,下面也显示了nInserted:3
我们在这提前使用一个查找指令查看以下集合中haha文档中的所有数据
上面添加再四条数据都在haha文档中了。点击我圈的地方能够更直观的看到数据
然后你又会意外的发现字段_id的秘密。第一张图上已经解释为什么了。

查询

除了multi配置参数外还有其他的配置参数,可在MongoDB官方文档中查看

修改

注意如果直接修改,如第一个语句,将会把符合name:"嘿嘿嘿"的整个文档数据修改为age:23,其他字段都会没有。如果你只修改其中的指定的数据,则需要使用$set进行操作

删除

后面两个指令其实就是第一个指令的拆分命令

文档之间的关系

一对一

一对多|多对一

多对多

结语

上面是我对MongoDB的不完全学习,希望对您有所帮助