MongoDB简介

什么是MongoDB?

MongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongonDB旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于JSON对象。字段值可以包含其他文档,数组及文档数组。
在这里插入图片描述
主要特点

  • MongoDB是一个面向文档存储的数据库,操作起来比较简单容易。
  • 你可以在MongoDB记录中设置任何属性的索引(如:FirstName=“Sameer”,Address=“8 Ganhhi Road”)来实现更快的排序。
  • 你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
  • 如果负载的增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机网络中的其他节点上这就是所谓的分片。
  • MongoDB支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
  • MongoDB使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段。
  • MongoDB中的Map/reduce主要是用来对数据进行批量处理和聚合操作。
  • Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。
  • Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。
  • GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
  • MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
  • MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
  • MongoDB安装简单。

MongoDB下载
你可以在mongodb官网下载该安装包,地址为:https://www.mongodb.com/download-center#community。MongoDB支持以下平台:OS X 32-bit,OS X 64-bit,Linux 32-bit,Linux 64-bit,Windows 32-bit,Windows 64-bit,Solaris i86pc,Solaris 64

语言支持
MongoDB有官方的驱动如下:C、C++、C#/.NET、Erlang、Haskell、Java、Javascript、Lisp、node.JS、Perl、PHP、Python、Ruby、Scala、Go

MongoDB安装

Windows平台安装MongoDB

MongoDB下载
MongoDB提供了可用于32位和64位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB预编译二进制包下载地址:https://www.mongodb.com/download-center/community

注意:在MongoDB2.2版本之后已经不再支持Windows XP系统。最新版本也已经没有了32位系统的安装文件。
在这里插入图片描述

  • MongoDB for Windows 64-bit 适合64位的Windows Server 2008 R2,Windows 7,及最新版本的Windows系统。
  • MongoDB for Windows 32-bit 适合32位的Windows 系统及最新的Windows Vista。32位系统上MongoDB的数据库最大位2GB。
  • MongoDB for Windows 64-bir Legacy 适合64位的Windows Vista,Windows Server 2003,及Windows Server 2008。

下载.msi文件,下载后双击该文件,按操作提示安装即可。
安装过程中,你可以通过点击“Custom(自定义)”按钮来设置你的安装目录。
在这里插入图片描述
在这里插入图片描述
下一步安装“install mongoDB compass”不勾选(当然你也可以选择安装它,可能需要更久的安装时间),MongoDB Compass是一个图形界面管理工具,我们可以在后面自己到官网安装,下载地址:https://www.mongodb.com/download-center/compass
在这里插入图片描述
创建数据目录
MongoDB将数据目录存储在db目录下。但这个数据目录不会主动创建,我们在安装完成后需要创建它。请注意,数据目录应该放在根目录下(如C:\或D:\)。
在上述教程中,我们已经在C盘安装了mongodb,现在我们创建一个data目录然后在data目录里创建db目录。

cd C:\
md "\data\db"

你也可以通过Windows资源管理器创建这些目录,不一定通过命令行。

命令行下运行MongoDB服务器
为了从命令提示符下运行MongoDB服务器。你必须从MongoDB目录的bin目录中执行mongod.exe文件。

C:\mongodb\bin\mongod --dbpath c:\data\db

如果成功,会输出以下信息:

2022-03-25T11:19:07.151+08:00 I CONTROL  Hotfix KB2731284 or later update is not
installed, will zero-out data files
2022-03-25T11:19:07.151+08:00 I JOURNAL  [initandlisten] journal dir=c:\data\db\j
ournal
2022-03-25T11:19:07.151+08:00 I JOURNAL  [initandlisten] recover : no journal fil
es present, no recovery needed
2022-03-25T11:19:07.151+08:00 I JOURNAL  [durability] Durability thread started
2022-03-25T11:19:07.151+08:00 I CONTROL  [initandlisten] MongoDB starting : pid=2
488 port=27017 dbpath=c:\data\db 64-bit host=WIN-1VONBJOCE88
2022-03-25T11:19:07.151+08:00 I CONTROL  [initandlisten] targetMinOS: Windows 7/W
indows Server 2008 R2
2022-03-25T11:19:07.151+08:00 I CONTROL  [initandlisten] db version v3.0.6
……

连接MongoDB
我们可以命令窗口中运行mongo.exe明亮即可连接上MongoDB,执行如下命令:

C:\mongodb\bin\mongo.exe

配置MongoDB服务
注意:一些新版本的MongoDB安装时已经自行完成大部分配置,如果以下目录已经存在,你可以直接跳过这部分内容。
管理员模式打开命令行窗口
创建目录,执行下面的语句来创建数据库华人日志文件的目录

mkdir c:\data\db
mkdir c:\data\log

创建配置文件
创建一个配置文件。该文件必须设置systemLog.path参数,包括一些附加的配置选项更好。
例如创建一个配置文件位于C:\mongodb\mongod.cfg,其中指定systemLog.path和storage.dbPath。具体配置内容如下:

systemLog:
    destination: file
    path: c:\data\log\mongod.log
storage:
    dbPath: c:\data\db

安装MongoDB服务
通过执行mongod.exe,使用–install选项来安装服务,使用–config选项来指定之前创建的配置文件。

C:\mongodb\bin\mongod.exe --config "C:\mongodb\mongod.cfg" --install

要使用备用 dbpath,可以在配置文件(例如:C:\mongodb\mongod.cfg)或命令行中通过 --dbpath 选项指定。
如果需要,您可以安装 mongod.exe 或 mongos.exe 的多个实例的服务。只需要通过使用 --serviceName 和 --serviceDisplayName 指定不同的实例名。只有当存在足够的系统资源和系统的设计需要这么做。

启动MongoDB服务

net start MongoDB

关闭MongoDB服务

net stop MongoDB

移除MongoDB服务

C:\mongodb\bin\mongod.exe --remoe

命令行下运行MongoDB服务器和配置MongoDB服务任务一个方式启动就可以

MongoDB后台管理Shell
如果你需要进入MongoDB后台管理,你需要先打开mongodb目录下的bin目录,然后执行mongo.exe文件,MongoDB Shell是MongoDB自带的交互式Javascript shell,用来对MongoDB进行操作和管理的交互式环境。
当你进入mongoDB后台后,它会默认链接到test文档(数据库):

> mongo
MongoDB shell version v5.0.3
connecting to: mongodb:....
......

由于它是一个Javascript shell ,您可以进行一些简单的算术运算:

> 2+2
4
>

db命令用于查看当前操作的文档(数据库):

> db
test
>

插入一些简单的记录并查找它

> db.runoob.insert({x:10})
WriteResult({ "nInserted" : 1 })
> db.runoob.find()
{ "_id" : ObjectId("623d43d968de0f490d5a260e"), "x" : 10 }
>

第一个命令将数字10插入到runoob集合的x字段中。

Linux平台安装MongoDB

MongoDB提供了linux各个发行版本64位的安装包,你可以在官网下载安装包。
安装之前我们需要安装各个Linux平台依赖包。

Red Hat/CentOS:

sudo yum install libcurl openssl

Ubuntu 18.04 LTS(“Bionic”)/Debian 10 “Buster”:

sudo apt-get install libcurl4 openssl

Ubuntu 16.04 LTS(“Xenial”)/Debian 9 “Stretch”:

sudo apt-get isntall libcurl3 openssl

MongoDB源码下载地址:https://www.mongodb.com/download-center#community
在这里插入图片描述
这里我们选择tgz下载,下载完安装包,并解压tgz(以下演示的是64位Linux上的安装)。

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz    # 下载
tar -zxvf mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz                   # 解压

mv mongodb-src-r4.2.8  /usr/local/mongodb4                          # 将解压包拷贝到指定目录

MongoDB的可执行文件位于bin目录下,所以可以将其添加到PATH路径中:

export PATH=<mongodb-install-directory>/bin:$PATH

为你MongoDB的安装路径。如本文的/usr/local/mongodb4.

export PATH=/usr/local/mongodb4/bin:$PATH

创建数据库目录
默认情况下MongoDB启动后会初始化以下两个目录:

  • 数据存储目录:/var/lib/mongodb
  • 日志文件目录:/var/log/mongodb
    我们在启动前可以先创建这两个目录并设置当前用户有读写权限:
sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb
sudo chown 'whoami' /var/lib/mongo #设置权限
sudo chown 'whoami' /var/log/mongodb #设置权限

接下来启动MongoDB服务:

mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork

打开/var/log/mongodb/mongod.log文件看到以下信息,说明启动成功。

# tail -10f /var/log/mongodb/mongod.log
2020-07-09T12:20:17.391+0800 I  NETWORK  [listener] Listening on /tmp/mongodb-27017.sock
2020-07-09T12:20:17.392+0800 I  NETWORK  [listener] Listening on 127.0.0.1
2020-07-09T12:20:17.392+0800 I  NETWORK  [listener] waiting for connections on port 27017

MongoDB后台管理Shell
如果你需要进入 mongodb 后台管理,你需要先打开 mongodb 装目录的下的 bin 目录,然后执行 mongo 命令文件。
MongoDB Shell 是 MongoDB 自带的交互式 Javascript shell,用来对 MongoDB 进行操作和管理的交互式环境。
当你进入 mongoDB 后台后,它默认会链接到 test 文档(数据库):

$ cd /usr/local/mongodb4/bin
$ ./mongo
MongoDB shell version v4.2.8
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("2cfdafc4-dd56-4cfc-933a-187b887119b3") }
MongoDB server version: 4.2.8
Welcome to the MongoDB shell.
……

由于它是一个Javascript shell ,您可以进行一些简单的算术运算:

> 2+2
4
>

db命令用于查看当前操作的文档(数据库):

> db
test
>

插入一些简单的记录并查找它

> db.runoob.insert({x:10})
WriteResult({ "nInserted" : 1 })
> db.runoob.find()
{ "_id" : ObjectId("623d43d968de0f490d5a260e"), "x" : 10 }
>

第一个命令将数字10插入到runoob集合的x字段中。
如果要停止mongodb可以使用以下命令:

mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongo.log --shutdown

也可以在mongo的命令窗口中实现:

>use admin
switched to db admin
>db.shutdownServer()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

降温vae+

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值