一、简介
1.1 Mongodb 是什么
MongoDB 是一个基于分布式文件存储的数据库,官方地址 https://www.mongodb.com/
1.2 数据库是什么
数据库( DataBase )是按照数据结构来组织、存储和管理数据的 应用程序
1.3 数据库的作用
数据库的主要作用就是 管理数据 ,对数据进行 增( c )、删( d )、改( u )、查( r )
1.4 数据库管理数据的特点
相比于纯文件管理数据,数据库管理数据有如下特点:
1. 速度更快
2. 扩展性更强
3. 安全性更强
1.5 为什么选择 Mongodb
操作语法与 JavaScript 类似,容易上手,学习成本低
二、下载安装与启动
1、下载地址: https://www.mongodb.com/try/download/community
下面以 4.4.27版本为例子
( 本人尝试下载6以上的版本,需要安装额外的驱动器,需要额外配置,没特殊需求,4版本就满足正常使用了 )
2、建议选择 zip 类型, 以后没网络也可正常安装,通用性更强(我使用的是msi)
配置步骤如下 :
(1)、将压缩包移动到 你想安装的目录结构下 ,然后解压
(2)一直点击next,看到(3)的安装界面
(3)安装过程中,你可以通过点击“Custom(自定义)”按钮来设置你的安装目录,然后点击 next。
(4)、选择你想要安装的目录,然后next
(5)下一步安装 "install mongoDB compass" 不勾选(当然你也可以选择安装它,可能需要更久的安装时间),MongoDB Compass 是一个图形界面管理工具,我们可以在后面自己到官网下载安装。
下载地址: MongoDB Compass Download (GUI) | MongoDB。
下载地址: MongoDB Compass Download (GUI) | MongoDB。
(6)在安装的时候可以选择将MongoDB配置为Windows服务并启动。
这里不用修改,默认直接next就好
下面路径会直接显示你安装的位置的路径,在步骤(3),默认安装这里显示c盘,自定义安装会显示你自定义目录位置
(7)、选择完毕后点击next就可以看到install按钮,点击install就可以开始安装了。
(8)、
配置MongoDB全局环境变量(就是在电脑中任何地方都可以合用mongo、mongod等命令)
把安装路径的bin目录放在环境路径里面 确定( 重启电脑才会生效)
3、查看是否安装成功,打开命令窗口(win+R输入cmd) ,或者点击电脑搜索,命令提示符
在命令行窗口,输入 mongod -v 下面显示一堆东西,就表示安装成功了
mongod -v
4、安装完成并配置好环境后,创建数据目录
MongoDB 将数据目录存储在 db 目录下。但是这个数据目录不会主动创建,我们在安装完成后需要创建它。请注意,数据目录应该创建在根目录下((如: C:\ 或者 D:\ 等 )。
我在 D盘中解压了 mongodb 文件,创建一个 data 的目录然后在 data 目录里创建 db目录。
5、启动库 在创建数据目录的目录盘,直接打开命令窗口,输入 mongod --dbpath d:\data\db
在下面看到一堆单词,有port:27017表示启动成功
这个窗口不可关闭
6、在一个全新的命名窗口,输入 mongo 进入数据库语法环境,就可以练习数据库语句了
三、核心概念
命令可参考 MongoDB 概念解析 | 菜鸟教程
Mongodb 中有三个重要概念需要掌握
数据库( database ) 数据库是一个数据仓库,数据库服务下可以创建很多数据库,数据库中可以存
放很多集合
集合( collection ) 集合类似于 JS 中的数组,在集合中可以存放很多文档
文档( document ) 文档是数据库中的最小单位,类似于 JS 中的对象
四、命令行交互
4.1 数据库命令
1. 显示所有的数据库
show dbs
2. 切换到指定的数据库,如果数据库不存在会自动创建数据库
use 数据库名
3. 显示当前所在的数据库
db
4. 删除当前数据库
use 库名
db.dropDatabase()
4.2 集合命令
1. 创建集合
db.createCollection('集合名称')
2. 显示当前数据库中的所有集合
show collections
3. 删除某个集合
db.集合名.drop()
4. 重命名集合
db.集合名.renameCollection('newName')
4.3 文档命令
1. 插入文档
db.集合名.insert(文档对象);
2. 查询文档
db.集合名.find(查询条件)
_id 是 mongodb 自动生成的唯一编号,用来唯一标识文档
3. 更新文档
db.集合名.update(查询条件,新的文档)
db.集合名.update({name:'张三'},{$set:{age:19}})
4. 删除文档
db.集合名.remove(查询条件)