在初学者刚刚接触mongodb时,往往是陌生的,之前的有所认识,也可能只是在学习爬虫的过程中利用mongodb进行存储数据,对它基本的使用还不了解,那么,这篇文章就将从怎么安装使用mongodb说起,也是我总结自己学习上的步骤,一起看看吧。
目录
一、什么是Mongodb?
我认识mongodb来源于学习《NoSQL数据库技术与应用》这门课程,毕竟Mongodb是NoSQL文档存储数据库的重要一员,它是由C++语言编写的非关系数据库,也是一个基于分布式文件存储的开源数据库系统。
Mongodb的逻辑结构是体系结构的一种形式,它是一种层次结构,主要由文档(Document)、集合(Collection)、数据库(Database)三部分组成。Mongodb的逻辑结构是面向用户的。
二、Mongodb数据类型
Mongodb支持不同数据类型作为文档中字段对应的值。具体如下所示:
Mongodb数据类型及相关说明
数据类型 | 相关说明 |
Double | 双精度浮点型,用于存储浮点值 |
String | 字符串,是常用的数据类型,Mongodb仅支持UTF-8编码的字符串 |
Object | 对象类型,存储嵌入式文档 |
Array | 数组类型,用于存储多个值 |
Binary data | 二进制数据,用于存储二进制数据 |
Undefined | 已弃用 |
ObjectId | 对象ID类型,用于存储文档ID |
Boolean | 布尔类型,用于存储布尔(true/false)值 |
Regular Expression | 正则表达式类型,用于存储正则表达式 |
Date | 日期类型,以UNIX时间格式存储标准时间的毫米数,不存储时区 |
Null | 空值类型,用于创建空值 |
DBPointer | 已弃用 |
Code | 代码类型,用于将Javascript代码存储到文档中 |
Symbol | 已弃用 |
Int32 | 整型,用于存储32位整型数值 |
Timestamp | 时间戳类型,用于记录文档修改或添加的具体时间 |
Int64 | 整型,用于存储64位整型数值 |
Decimal128 | Decimal类型,用于记录、处理货币数据,例如财经数据、税率数据等 |
Min key | 将一个值与BSON元素的最低值相对比 |
Max key | 将一个值与BSON元素的最高值相对比 |
三、Mongodb的使用规范
通过对前面内容的学习,应该对MongoDB数据库有了初步认识,为了后续在操作过程中更加合理地使用MongoDB,接下来,我将针对MongoDB中数据库、集合和文档的使用规范进行详细介绍:
1.数据库使用规范
数据库通过名字标识。关于数据库的命名需要注意以下几点:
- 编码格式必须为UTF-8字符;
- 不可以出现空字符串,即"";
- 只能使用ASCII码表中的字母和数字,禁止使用除下画线(_)以外的特殊字符;
- 数据库名称区分大小写;
- 数据库名称长度限制为64个字节;
- 数据库名称不可与系统保留的数据库名称相同,即adminlocal和config数据库。
上述我从设计层面介绍了MongoDB数据库的命名规范。下面,从实际开发角度提出三条数据库命名的建议,具体如下:
- 数据库名称建议全部小写;
- 建议不要使用数字开头的数据库名称;
- 建议数据库命名规则为db_xxxx,即见名知意的名称。
2.集合使用规范
集合是通过名宇来标识区分。关于集合的命名需要注意以下儿点:
- 编码格式必须为UTF-8字符;
- 不可以出现空字符串,即”;示集合名称的结尾:
- 集合命名中不可含有\0字符,即空字符,这个字符表示
- 不能出现以“system. "开头的集合名称,这是为系统集合保留I的前缀;
- 集合命名不可包含字符$ ;
- 集合名称的长度限制为64个字节。
上面我们从设计层面介绍了MongoDB集合的命名规范。下面,我们从实际开发角度提出5条集合命名的建议,具体如下:
- 建议不要使用除(下画线和.(点以外的特殊字符;
- 建议集合名称全部小写;
- 建议不要使用数字开头的集合名称;
- 为了避免库级锁带来的问题,尽量对写人较大的集合使用“单库单集合”的结构,对于新增业务尽量创建新库,而不是在现有库中创建新集合;
- 建议集合命名规则为t_ xxx;
- 使用“.”来分隔不同命名空间的子集合,例如一个博客可能包含两个子集合,即blog.posts和blog.authors,而blog本身可以不存在。
3.文档使用规范
文档中键的类型-般是字符串类型,键可以使用任意UTF-8字符。关于文文档的命名需要注意以下几点:
- 文档中的键不能含有\0字符,即空字符;
- 文档中的键禁止使用任何除下画线_以外的特殊字符,并且开头不建议使用_;.文档中的键建议全部为小写;
- 文档中的键不建议以数字开头;
- 不建议自定义文档中_id的值;
- 尽量将相似类型的文档放在同一个集合中,将不同类型的文档分散在不同的集合中,这样可以提高索引的利用率;
- 建议不要存储过长的字符串,如果这个字段为查询条件,那么确保该字段的值不超过1KB,因为MongoDB索引仅支持1KB以内的字段;
- 建议若业务上对于存放数据大小写不敏感,则使用全部大写/小写存放(或增加一个统一大小写的辅助字段);
- 建议尽量不要使用数组字段作为查询条件;
- 同一文档中,不可以存在相同名称的键。
四、 Mongodb的安装部署
1、MongoDB 部署
MongoDB是一个开源 、跨平台的数据库,它可以运行在Windows和Linux等多个平台上,为我们提供数据库服务。在不同的操作系统平台上,部署MongoDB也会有所不同。这里我先将说MongoDB数据库基于Windows平台部署,后续会发出基于Linux平台部署的文章。
2、下载与安装
可以到我的个人主页资源处下载安装包:链接:mongodb安装包及安装步骤(windows)-MongoDB文档类资源-CSDN下载
下载好Mongodb安装包后,里面也有具体的安装步骤与视频,这里我们 就跳过啦!
五、Mongodb的启动与使用
- 在mongodb的bin文件夹下打开命令行窗口。进入bin文件夹,在目录栏中输入cmd提示符,如图1-1所示:
图1-1
- 然后在图中的目录栏处,按下Enter键,在当前路径下打开命令行窗口。
图1-2
- 在如图所示处,执行mongod --dbpath C:\mongodb\data\db --logpath C:\mongodb\data\logs\mongo.log --logappend命令,启动MongoDB服务,命令行窗口的光标会一直闪动,没有内容出现。
mongod --dbpath C:\mongodb\data\db --logpath C:\mongodb\data\logs\mongo.log --logappend
- 在图1-1处,继续执行此操作,重新进入cmd命令行窗口,执行mongo命令,
出现此页面则说明Mongodb服务启动成功,反之失败。 (注意:服务器端和客户端是两个cmd页面,进入客户端时,也要保持服务器端开启,才能成功使用。通俗点说就是此处有2个cmd页面,都不能关闭。)
若想关闭Mongodb服务器,只需要关闭命令行窗口(cmd页面)即可。