MongoDB -01- 介绍安装和基本使用(入门篇)

喜欢ヅ旅行 2022-04-11 14:47 325阅读 0赞

MongoDB -01- 介绍安装和基本使用(入门篇)

相信大家都接触过一些关系型数据库,像 Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL 等,常见的关系型数据库和非关系型都有哪些? 这一篇文章也提出了一些关系型数据库的优缺点。

随着互联网 web2.0 网站的兴起,超大规模和高并发的 SNS 类型的 web2.0 纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL 数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。非关系型数据库可以为大数据建立快速、可扩展的存储库。

什么是 NoSQL?

  1. NoSQL,指的是非关系型的数据库。NoSQL 有时也称作 Not Only SQL 的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。

NoSQL 用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

什么是 MongoDB ?
MongoDB 是由 C++ 语言编写的,是一个 基于分布式文件存储的开源数据库系统
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。
MongoDB 文档类似于 JSON 对象。 字段值可以包含其他文档,数组及文档数组。,就像这样:

  1. username:'xiaoming',
  2. password:'123'
  3. **MongoDB 是一个介于关系数据库和非关系数据库(NoSQL)之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。**

MongoDB 下载与安装

1.官网下载地址:https://www.mongodb.com/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-4.0.4-signed.msi/download

2.自行选择版本和适用操作系统,Windows 系统建议下载 msi 后缀名的可安装文件。
默认安装即可,最后一步点击 Customer 可以自定义安装路径:
watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMTQ3ODYz_size_16_color_FFFFFF_t_70

3.安装后会有以下几个目录:
watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMTQ3ODYz_size_16_color_FFFFFF_t_70 1

  • bin 目录:存放一些课执行程序文件
  • data 目录:数据存放目录
  • log 目录:日志信息

4.安装后会多出这样一个服务:
watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMTQ3ODYz_size_16_color_FFFFFF_t_70 2

连接 MongoDB

双击打开安装目录下的 mongo.exe 命令即可连接上 MongoDB
mongo.exe 具体目录:

C:\Program Files\MongoDB\Server\4.0\bin

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMTQ3ODYz_size_16_color_FFFFFF_t_70 3

00 - 查看所有数据库

查看目前已有的所有数据库,使用命令:

  1. show dbs

01 - 切换数据库

在 mongo.exe 的命令行下,使用下面命令:

  1. use dba

在这里插入图片描述
【注意】:
(1)dba 也可以换成其他任意的名字,不是预先创建的数据库,是之后可能会常见这个数据库。
(2)创建数据库并不是必须的操作,数据库与集合只有在第一次插入文档时才会被创建,与对数据的动态处理方式是一致的。简化并加速开发过程,而且有利于动态分配命名空间。如果担心数据库或集合被意外创建,可以开启严格模式。

02 - 插入语法

可以使用两种方式来插入数据:

  1. // 方法一
  2. db.users.insert({username:"xiaopengwei"})
  3. // 方法二
  4. db.users.save({username:"xiaopengwei"})

在这里插入图片描述

两种方式的区别:
(1)若新增的数据中存在主键 ,insert() 会提示错误,而 save() 则更改原来的内容为新内容。

例如:
已存在数据: {_id : 1, ” name ” : ” n1 ” },再次进行插入操作时,
insert({_id : 1, ” name ” : ” n2 ” }) 会报主键重复的错误提示
save({ _id : 1, ” name ” : ” n2 ” }) 会把 n1 修改为 n2 。
相同点:
若新增的数据中没有主键时,会增加一条记录。
已存在数据: { _id : 1, ” name ” : ” n1 ” },再次进行插入操作时,
insert({ ” name ” : ” n2 ” }) 插入的数据因为没有主键,所以会增加一条数据
save({ ” name ” : ” n2 ” }) 增加一条数据。

03 - 查询语法

使用下面语句实现查询
(1)查询全部数据:

  1. db.users.find()

在这里插入图片描述

(2)查询数据项数:

  1. db.users.count()

在这里插入图片描述
(3)条件查询:

  1. db.users.find({username:"xiaopengwei"})

在这里插入图片描述

04 - 更新语法

  1. db.users.update({username:"xiaopengwei"},{$set:{country:"China"}})
  2. //把用户名为 xiaopengwei 的用户的国家改成 China
  3. db.users.update({username:"smith"},{$unset:{country:1}})
  4. //把用户名为 xiaopengwei 的用户的国家字段给移除
  5. db.users.update({username:"jones"},{$set:{favorites:{movies:["casablance","rocky"]}}})
  6. //这里主要体现多值修改,在 favorties 字段中添加多个值
  7. db.users.update({"favorites.movies":"casablance"},{$addToSet:{favorites.movies:"the maltese"}},false,true)
  8. //多项更新

删除语法

  1. db.foo.remove() //删除所有数据
  2. db.foo.remove({favorties.cities:"cheyene"}) //根据条件进行删除
  3. db.drop() //删除整个集合

索引相关语法

  1. db.numbers.ensureIndex({num:1})
  2. //创建一个升序索引
  3. db.numbers.getIndexes()
  4. //获取全部索引

基本管理语法

  1. show dbs
  2. //查询所有数据库
  3. show collections
  4. //显示所有表
  5. db.stats()
  6. //显示数据库状态信息
  7. db.numbers.stats()
  8. //显示集合表状态信息
  9. db,shutdownServer()
  10. //停止数据库
  11. db.help()
  12. //获取数据库操作命令
  13. db.foo.help()
  14. //获取表操作命令
  15. tab //能自动帮我们补全命令

以上的命令只是简单实例,假设如果你之前没有学习过任何数据库语法,同时开始学 sql 查询语法和 MongoDB 查询语法,你会发现哪一个更简单呢?

更多文章

  • MongoDB 教程

发表评论

表情:
评论列表 (有 0 条评论,325人围观)

还没有评论,来说两句吧...

相关阅读