Windows下安装配置MongoDB

Windows下安装配置MongoDB

一,介绍

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。

MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

二,安装配置

当前数据库版本:Mongodb 4.0.5

第一步:下载MongoDB

第二步:安装MongoDB

下载后双击该文件,按操作提示安装即可。但是安装过程中,你可以通过点击 "Custom(自定义)" 按钮来设置你的安装目录。

第三步:创建数据库文件的存放位置

在MongoDB下创建data,在data下再创建db:D:MongoDBdatadb

因为启动mongodb服务之前需要必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功。

第四步:启动MongoDB服务

进入D:MongoDBin目录(注意:先输入d:进入d盘,然后输入cd D:MongoDBin),然后输入如下的命令启动mongodb服务:mongod --dbpath D:MongoDBdatadb,如果出现以下界面,表示启动成功

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,连接成功之后,插入数据,编辑之后再保存就可以。 

 查看刚才插入的数据

四,常用命令

4.1,内置角色

  1. Read:允许用户读取指定数据库
  2. readWrite:允许用户读写指定数据库
  3. dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
  4. userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
  5. clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
  6. readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
  7. readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
  8. userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
  9. dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
  10. root:只在admin数据库中可用。超级账号,超级权限

4.2,命令

  1. show dbs 显示全部的数据库
  2. use dbName(数据库名)进入数据库(若没有则是创建数据库)
  3. db 输出当前在哪个库
  4. show tables 查看表

4.3,MongoDB数据类型

$type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果。

TypeNumberAliasNotes
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”
原文地址:https://www.cnblogs.com/jackson-yqj/p/10282048.html