文章更新于:2020-04-29
Content
前言
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
一、下载安装
1.1、下载安装包
下载 mongodb
安装包:https://www.mongodb.com/download-center/community
下载 compass
安装包(可选):https://www.mongodb.com/download-center/compass
如下图(左 compass
右 mongodb
):
1.2、安装 mongodb
- 双击即可启动安装
- 将
mongodb
配置成服务,以及选择数据、日志的存储路径
(新版才有这个步骤,旧版本需要自己手动配置)
- 可选勾选安装
compass
(建议不要勾选,安装很慢。且之前我们已经下载准备了独立安装包)
- 安装完成
1.3、安装 compass
compass
也是双击安装,完成如下图:
二、连接使用
2.1、访问 web 界面确认安装结果
在本机浏览器输入 localhost:27017
,如果出现如下字样即表示已经安装并成功运行。
2.2、进入 mongo shell
- 在我们安装的路径下有一个
bin
目录,需要我们配置环境变量
(这里是默认安装路径位置,需要将此路径加入到环境变量中)
2. 然后我们就可以在命令行输入 mongo
进入 shell
界面了。
如下图:
- 使用命令查看数据库及插入数据
(exit:退出shell
)
- 停止和启动 mongodb 服务
以管理员身份运行cmd
,然后输入:
# 停止 mongodb
net stop mongodb
# 启动 mongodb
net start mongodb
三、基本概念及语法
3.1、术语概念
在 mongodb
中,有一些概念和 SQL
不同。
它们分别是:
SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
---|---|---|
table | collection | 数据库表/集合 (集合是一系列文档的组合) |
row | document | 数据记录行/文档 (有序的键值对放置在一起就是文档) |
column | field | 数据字段/域 |
table joins | 表连接,MongoDB不支持 | |
primary key | primary key | 主键,MongoDB 自动将 _id 字段设置为主键 |
mongodb
保留数据库:
数据库名 | 描述 |
---|---|
admin | 从权限的角度来看,这是"root"数据库。 要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。 一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。 |
local | 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合 |
config | 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。 |
3.2、基本语法
命令 | 作用 | 备注 |
---|---|---|
mongo | 运行 mongo shell | mongo 命令行 |
show dbs | 显示所有数据库 | 没有任何数据的数据库不显示 |
db | 显示当前数据库 | |
use <database_name> | 切换/连接 到 <database_name> 数据库 | 如果数据库不存在则创建 |
3.3、数据类型
数据类型 | 描述 |
---|---|
Sring | 字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。 |
Integer | 整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。 |
Boolean | 布尔值。用于存储布尔值(真/假)。 |
Double | 双精度浮点值。用于存储浮点值。 |
Min/Max keys | 将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。 |
Arrays | 用于将数组或列表或多个值存储为一个键。 |
Timestamp | 时间戳。记录文档修改或添加的具体时间。 |
Object | 用于内嵌文档。 |
Null | 用于创建空值。 |
Symbol | 符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。 |
Date | 日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。 |
Object ID | 对象 ID。用于创建文档的 ID。 |
Binary Data | 二进制数据。用于存储二进制数据。 |
Code | 代码类型。用于在文档中存储 JavaScript 代码。 |
Regular expression | 正则表达式类型。用于存储正则表达式。 |