安装mongodb

去[mongodb官网](https://www.mongodb.com/)下载安装包,因为mongodb官网经常在更新,不同时间,网站不太一样,所以只给出官网地址,具体怎么下载,请到官网查看。
 
安装包就跟我们平时下载的其他软件一样,找到存放位置,双击即可开始安装。在安装过程中,有一个安装选项,建议新手选择custom,然后选择一个安装文件夹,我选择的是D:\Program Files\,这个根据自己的喜好自己选择,其他的默认就行,直到安装完成。
 
安装完成后,记得在C盘里面创建一个data的文件夹,再到data里面创建一个db文件夹和log文件夹。然后为mongodb添加环境变量,具体方法:找到安装文件下的bin目录,我的是D:\Program Files\mongodb\Server\4.0\bin,把它添加到系统变量里即可。各种电脑添加环境变量的方式不太一样,我就不一一列举了,不会的可以自行百度。

数据库基本操作

连接mongodb

1. 打开一个cmd窗口,输入mongod,如果最后显示一个on port xxxx,表示连接成功
2. 重新打开一个cmd窗口,输入mongo命令来连接服务端
连接成功后,我们就可以进行简单的数据库操作了

简单操作数据库

在输入了mongo命令后,我们就已经进入了mongo shell,也就是 mongodb 自己的命令行工具,我们就可以执行一些它的专属命令了
show dbs :显示已有数据库,如果你刚安装好,会默认有local、admin(config),这是MongoDB的默认数据库,我们在新建库时是不允许起这些名称的。
use admin: 进入数据库,也可以理解成为使用数据库。成功会显示:switched to db admin。这里的admin是指数据库名称。use 不仅可以进入一个数据库,如果你敲入的库不存在,它还可以帮你建立一个库。但是在没有集合前,它还是默认为空。
show collections: 显示数据库中的集合(关系型中叫表,我们要逐渐熟悉)。
db: 显示当前位置,也就是你当前使用的数据库名称,这个命令算是最常用的,因为你在作任何操作的时候都要先查看一下自己所在的库,以免造成操作错误。
mongo shell 还可以运行简单的js命令
执行上面代码会打印出 Hello World。
 
需要注意的是这里的输出不再使用console.log(),而是使用print(),这个稍有区别
 
还可以定义函数:
执行上面代码会打印出 diyStr

 mongodb常用命令

db.集合名.insert(obj):新建数据集合和插入文件(数据),当集合没有时,这时候就可以新建一个集合,并向里边插入数据。
db.集合名.find():查询所有数据,这条命令会列出集合下的所有数据,可以看到MongoDB是自动给我们加入了索引值的。
db.集合名.findOne(obj):查询一个文件数据,这里需要注意的,所有MongoDB的组合单词都使用首字母小写的驼峰式写法。
 
db.集合名.update({查询},{修改}):修改文件数据,第一个是查询条件,第二个是要修改成的值。
注意:这里是可以多加文件数据项的,比如:
还有一点,如果要修改成的值没有包含已有的字段,则除了_id,没有的字段将被删除,update等于是用新的数据替换掉满足条件的数据,比如
db.集合名.drop():删除集合
 
例:

数据库管理

安装好MongoDB时,它为我们默认开了一个最高管理权限方便我们管理数据库,我们可以用mongo连接数据库,就是这个原理。
首先要进入我们的admin库中,进入方法是直接使用 use admin 就可以。进入后可以使用 show collections 来查看数据库中的集合,默认是只有一个集合的(system.version)。
通过 db.system.users.find() 查找,发现一个用户也没有
 
#### 创建用户
 
可以用db.createUser方法来完成,里边除了user和pwd字段,其他参数可以自己定义。
重点说一下mongodb的角色,它里面有很多内置角色,不同角色有不同权限,具体对比如下:
 
数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManage;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root
内部角色:__system
 
通过数据库管理工具(或者 show collections 命令)可以看到,admin 数据库多了一个 system.users 的表,再次查询
会返回一个用户,就是刚才创建的。
注意:除了_id,还有一个id的字段,值为admin.liguixing。
 
当然我们还可以单独配置一个数据库的权限,比如我们现在要配置compay数据库的权限为读写:
再次创建一个liguixing2的用户,会报错,因为数据库的用户名具有唯一性
#### 删除用户
### mongo执行js文件
在任何文件夹创建一个js文件都可以,然后在该js文件所在的文件夹目录打开cmd,执行mongo xxx.js 即可