MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的状况下,添加更多的节点,能够保证服务器性能。javascript
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档相似于 JSON 对象。字段值能够包含其余文档,数组及文档数组。java
当前数据库版本:Mongodb 4.0.5mongodb
第一步:下载MongoDB数据库
第二步:安装MongoDB数组
下载后双击该文件,按操做提示安装便可。可是安装过程当中,你能够经过点击 "Custom(自定义)" 按钮来设置你的安装目录。安全
第三步:建立数据库文件的存放位置服务器
在MongoDB下建立data,在data下再建立db:D:\MongoDB\data\db数据结构
由于启动mongodb服务以前须要必须建立数据库文件的存放文件夹,不然命令不会自动建立,并且不能启动成功。app
第四步:启动MongoDB服务分布式
进入D:\MongoDB\bin目录(注意:先输入d:进入d盘,而后输入cd D:\MongoDB\bin),而后输入以下的命令启动mongodb服务:mongod --dbpath D:\MongoDB\data\db,若是出现如下界面,表示启动成功
27017是mongodb的默认端口号
参数 描述
--bind_ip 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地全部IP
--logpath 定MongoDB日志文件,注意是指定文件不是目录
--logappend 使用追加的方式写日志
--dbpath 指定数据库路径
--port 指定服务端口号,默认端口27017
--serviceName 指定服务名称
--serviceDisplayName 指定服务名称,有多个mongodb服务时执行。
--install 指定做为一个Windows服务安装。
第五步:配置MongoDB验证
MongoDB 默认直接链接,无须身份验证,若是当前机器能够公网访问,且不注意Mongodb 端口(默认 27017)的开放状态,那么Mongodb就会产生安全风险,被利用此配置漏洞,入侵数据库。
配置MongoDB验证,用于链接操做数据库,提升安全性
1,管理员帐户
建立管理员帐户
1 use admin 2 3 db.createUser( 4 { 5 user: "adminUser", 6 pwd: "adminPass", 7 roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] 8 } 9 )
若是出现以下界面,则表示建立成功
验证用户
1 use admin 2 3 db.auth("adminUser", "adminPass")
若是出现以下界面,则表示验证成功
2,普通帐户
建立普通帐户
1 use jackson_YingQi 2 3 db.createUser( 4 { 5 user: "myAdminUser", 6 pwd: "myAdminPass", 7 roles: [ { role: "readWrite", db: "jackson_YingQi" }] 8 } 9 )
若是出现以下界面,则表示建立成功
验证用户
1 use jackson_YingQi 2 3 db.auth("myAdminUser", "myAdminPass")
若是返回1,表示验证成功
可视化工具还方便操做与查看
第一步:下载Robo 3T
第二步:安装Robo 3T
一直点击下一步便可,可自定义安装路径
第三步:配置建立链接
1,打开Robo 3T ,点击“create”建立一个到mongoDB的链接。
2,给建立的链接新建一个名称,并填上数据库的ip和端口。默认是localhost
3,链接成功以后,插入数据,编辑以后再保存就能够。
查看刚才插入的数据
$type操做符是基于BSON类型来检索集合中匹配的数据类型,并返回结果。
Type | Number | Alias | Notes |
---|---|---|---|
Double | 1 | “double” | |
String | 2 | “string” | |
Object | 3 | “object” | |
Array | 4 | “array” | |
Binary data | 5 | “binData” | |
Undefined | 6 | “undefined” | Deprecated. |
ObjectId | 7 | “objectId” | |
Boolean | 8 | “bool” | |
Date | 9 | “date” | |
Null | 10 | “null” | |
Regular Expression | 11 | “regex” | |
DBPointer | 12 | “dbPointer” | Deprecated. |
JavaScript | 13 | “javascript” | |
Symbol | 14 | “symbol” | Deprecated. |
JavaScript (with scope) | 15 | “javascriptWithScope” | |
32-bit integer | 16 | “int” | |
Timestamp | 17 | “timestamp” | |
64-bit integer | 18 | “long” | |
Decimal128 | 19 | “decimal” | New in version 3.4. |
Min key | -1 | “minKey” | |
Max key | 127 | “maxKey” |