MongoDB
- MongoDB是一个高性能、开源、无模式的文档型数据库,是当前NOSQL数据库产品中最热门的的一种。它在许多场景下用于替代传统的关系型数据库或键值对存储方式。
- MongoDB是用C++开发的一种基于分布式文件存储的开源数据库系统
- MongoDB将数据库存储为一个文档,数据结构由键值对(key-value)组成
- MongoDB文档类似JSON数据对象
- 字段值可以包含其他文档、数组及文档数组
一、MongoDB的安装
1.安装
绿色版无需安装直接解压即可使用(64位,32位可通用)
2.启动服务
- 1.创建数据库目录 如/data/db
- 2.执行 mongd -dbpath d:/data/db
在MongoDB文件中新建一个data文件夹(如存在可删去后新建)
在新建的data文件夹中再分别新建数据库和日志文件
启动服务:bin文件夹下的mongod应用程序
操作数据库
- 打开bin目录下mongo应用程序
在窗口输入show databases; 出现如下界面则显示服务已启动并能成功运行
二、MongoDB与SQL概念的差异
(一)collection与table的差异
SQL | MongoDB |
---|---|
database | database |
table | collection |
row | document or BSON document |
column | field |
index | index |
primary key | _id(auto set) |
table
- 有结构,行遵循结构
collection
- 文档无结构
- 文档相互独立没有固定结构
三、MongoDB中常用的数据类型
类型 | 名称 |
---|---|
Object ID | 文档ID |
String | 字符串,最常用,必须是有效的UTF-8 |
Boolean | 存储一个布尔值,true或false |
Integer | 整数可以是32位或64位(取决于服务器) |
Double | 存储浮点值 |
Arrays | 数组或列表,多个值存储到一个键 |
Object | 用于嵌入式的文档,即一个值为一个文档 |
Null | 存储Null值 |
Timestamp | 时间戳 |
Date | 存储当期日期或时间的UNIX时间格式 |
Object ID
- 每个文档都有一个属性,为_id,保证每个文档的唯一性
- 可以自己去设置_id插入文档
- 如果没有提供,那么MongoDB为每个文档同乐一个独特的_id,类型为objectID
- ObjectID是一个12字节的十六进制数
前4个字节为当前时间戳
接下来3个字节为机器的ID
在接下来的2个字节为MongoDB的服务进程id
最后3个字节是简单的增量值
四、MongoDB的常用操作
1.启动服务
- 1.为简便运行,现创建一个start文件,在其中书写服务启动命令
- 2.将其后缀名改成.bat
- 3.双击该文件即可启动服务
2.连接MongoDB
(1)命令行
- 在启动服务后,直接双击mongo.exe文件即可连接
(2)GUI界面
在MongoDB GUI安装文件中找到robo3t.exe文件
3.基本命令
命令 | 描述 |
---|---|
show databases | 查看已有数据库 |
use dataname | 选择数据库 |
show tables | 查看已有表(集合) |
show collections | 查看已有表(集合) |
db.createCollection(‘表名’) | 建表(集合) |
db.集合名.drop() | 删除集合 |
db.dropDatabase() | 删除库 |