MongoDB

一、MongoDB简介:

MongoDB是一个基于分布式文件存储的非关系型数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB将数据存储为一个文档,数据结构由键值(key,value)对组成,MongoDB文档类似于JSON对象,字段值可以包含其他文档,数组及文档数组。
MongoDB服务端可运行在Linux、Windows或mac os x平台,支持32位和64位应用,默认端口为27017。
MongoDB支持各种编程语言: Python,Java,C++,PHP,C#等多种语言。

二、MongoDB的安装

MongoDB提供了可用于32位系统和64位系统的预编译二进制包(新版本没有了32位系统的安装文件),你可以进入MongoDB官网下载安装,这里不多说
1、双击打开文件进行安装,在安装过程中,可以通过点击 “Custom(自定义)” 按钮来设置你的安装目录(安装目录会影响我们后面的配置)我选择安装在E:\MongoDB这个目录下。
MongoDB
MongoDB
MongoDB
这里安装 “Install MongoDB Compass” 不勾选,否则可能要很长时间都一直在执行安装,MongoDB Compass是一个图形界面管理工具,这里不安装也是没有问题的,可以自己去下载一个图形界面管理工具,比如Robo3T
MongoDB
2、配置MongoDB
MongoDB的安装过程是很简单的,但是配置就比较麻烦了,可能会遇到各种各样的问题,需要你有足够的耐心和仔细。首先要在 MongoDB的data文件夹里新建一个db文件夹和一个log文件夹:
MongoDB
然后在log文件夹下新建一个mongo.log:
MongoDB
然后将E:\MongoDB\bin添加到环境变量path中(右键“我的电脑”->属性->高级系统设置->环境变量->系统变量下的path),此时打开cmd窗口运行一下mongo命令,出现如下情况:
MongoDB
这是为什么呢?这是因为我们还没有启动MongoDB服务,自然也就连接不上服务了。那要怎么启动呢?在cmd窗口中运行如下命令:mongod --dbpath E:\MongoDB\data\db
需要注意的是:如果你没有提前创建db文件夹,是无法启动成功的。运行成功之后,我们打开浏览器,输入127.0.0.1:27017,看到如下图,就说明MongoDB服务已经成功启动了。
MongoDB
但是如果每次都要这么启动服务的话也太麻烦了吧,这里你可以选择设置成开机自启动,也可以选择用命令net start mongodb来手动启动,这里我选择使用后者,具体方法如下。
还是打开cmd窗口,不过这次是以管理员身份运行,然后输入如下命令(引号内是你的文件夹路径):mongod --dbpath “E:\MongoDB\data\db” --logpath “E:\MongoDB\data\log\mongo.log” -install -serviceName “MongoDB”
如果没有报错的话就说明成功添加到服务里了,可以使用win+R然后输入services.msc命令进行查看:
MongoDB
默认是自动运行的,这里我选择把它改成手动的。然后【以管理员身份运行cmd】,在窗口中运行net start mongodb:
MongoDB
可能出现的问题:
1.mongod不是内部或外部命令
出现这种问题说明你没有把bin目录添加到环境变量之中,重新添加一下即可解决。
2.服务名无效
首先是看你输入的服务名称是否有误,然后再查看本地服务中有没有MongoDB服务,如果没有服务,则运行命令添加服务即可。
3.发生服务特定错误:100
删除db文件夹下的mongod.lock和storage.bson两个文件,若删除完之后仍然出现这种问题,用sc delete mongodb删除服务,再配置一下服务就能解决了。

三、MongoDB的命令

1、mongodb内部执行引擎是js,所以可以使用js代码
2、服务端客户端命令
c\s架构
mongo:客户端
mongo --host-h --port-p
mongod:服务端
mongod --dbpath(数据库存放数据的位置)
服务器就相当于一个数据库程序,程序可以绑定在多个端口上,每个端口就相当于启动一个服务器。
客户端和服务端到底是啥
数据库一般都有客户端和服务端命令,
服务端:相当于启动这个数据库,比如启动mongo,mysql,启动之后,你才能CRUD。
cmd开启,开启之后这个cmd窗口就相当于一个服务端程序,你不能关闭,关闭之后数据库就关闭了。
客户端:就相当于链接数据库的窗口,连接好之后,就可以进行CRUD操作了。

MongoDB的介绍和命令