MongoDB 数据库的学习

一、MongoDB的简介

1、MongoDB是什么?

 

  1. MongoDB 是由 C++ 语言编写的,基于分布式文件存储的数据库,是一个介于关系数据库和非关系数据库之间的产品,是最接近于关系型数据库的 NoSQL 数据库

  2. MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

  3. MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

    

 

 

 2、MongoDB 的主要特点

  • MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。
  • 你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。
  • 你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
  • 如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。
  • Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
  • MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。
  • Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作
  • Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。
  • Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。
  • GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
  • MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
  • MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
  • MongoDB安装简单。

二、安装MongoDB

1、MongoDB 官网

官网地址:http://www.mongodb.org/

github:https://github.com/mongodb/

2、安装 MongoDB

(1)打开官网号,选择Products(产品),选择社区版!

(2)进入下载页,点击下载按钮,进行下载!

 

 

 (3)点击以下的文件,直接点击下一步,安装

 

 

 

 (4)桌面出现 MongoDB Compass 的图标,即为成功!下载最新版的MongoDB 不用配置环境变量,所以可以直接使用了!

三、MongoDB的介绍与使用

1、MongoDB 的要素

自带的数据库是要保留的,可以直接访问这些有特殊作用的数据库。

  • admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
  • local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
  • config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

2、MongoDB 数据库使用鼠标操作

2.1、创建数据库

 2.2、删除数据库

2.3、创建表

 2.4、删除表

 2.5、插入数据

(1)选择要操作的表,进入

 (2)编写所需的数据

 (3)查看结果,插入成功!

3、MongoDB 数据库使用 shell 命令操作

3.1、创建数据库

如果数据库不存在,则创建数据库,否则切换到指定数据库。

use 数据库名
db

3.2、查看所有数据库

show dbs

3.3、创建表

我们会发现我们创建的数据库并没有显示出来,要想让它显示出来,就需要给该数据库添加一下数据(创建表)

db.数据库名.insertOne({"name":"数据"})

3.4、删除数据库

db.dropDatabase()

 3.5、查看表

show collections

 3.6、删除表

db.表名.drop();

 3.7、插入数据

单条记录:

db.集合名.insertOne({数据})

 多条记录:

db.bookInfo.insertMany([{数据1},{数据2}])

 3.8、查询数据

  • 查询所有数据:
db.表名.find()

  •  按条件查询某条:
db.表名.find({条件})

  •  查询第一条(支持条件):
db.表名.findOne({条件});

  •  限制数量:
db.表名.find().limit(数量);

  •  跳过指定数量:
db.表名.find().skip(数量);

  • 比较查询:
大于:$gt
小于:$lt
大于等于:$gte
小于等于:$lte
非等于:$ne

例如:查找年龄大于9岁的:

  •  查询数量:
db.表名.find().count();

  • 排序:
db.表名.find().sort({"字段名":1}); // 1:表示升序,-1:表示降序

  •  指定字段返回: 
db.表名.find({},{"字段名":0}); // 参数1:返回 0:不返回

 3.9、修改数据

单条:

db.表名.update({"条件字段名":"字段值"},{$set:{"要修改的字段名":"修改后的字段值"}});

 多条:

例如:原来年龄大于等于10的,全部修改年龄为30

db.users.updateMany({age:{"﹩gte":10}},{﹩set:{age:30}});

 3.10、删除数据

单条:

db.表名.deleteOne(条件);

例如: 删除年龄>=10岁的数据

db.users.deleteOne({age:{'$gte':10}}); 

 删除多条:

db.bookInfo.deleteMany({age:{$gte:30}})

例如:删除年龄>=30岁的数据

 

posted @ 2022-09-21 21:16  __fairy  阅读(243)  评论(0编辑  收藏  举报