一、mongodb的介绍

1.什么是mongodb

  • mongodb 是一个功能最丰富的NoSQL非关系数据库。由 C++ 语言编写。
  • mongodb 本身提供S端存储数据,即server;也提供C端操作处理(如查询等)数据,即client。

2. SQL和NoSQL的主要区别

  • 在SQL中层级关系: 数据库>表>数据
  • 而在NoSQL中则是: 数据库>集合>文档

(1)数据之间无关联性

  • SQL中如何需要增加外部关联数据的话,规范化做法是在原表中增加一个外键,关联外部数据表。
  • NoSQL则可以把外部数据直接放到原数据集中,以提高查询效率。缺点也比较明显,对关联数据做更新时会比较麻烦。
  • SQL中在一个表中的每条数据的字段是固定的。而NoSQL中的一个集合(表)中的每条文档(数据)的key(字段)可以是互不相同的。

扩展阅读:

(2)mongodb作为非关系型数据库相较于关系型数据库的优势

易扩展: NoSQL数据库种类繁多, 但是一个共同的特点都是去掉关系数据库的关系型特性。 数据之间无关系, 这样就非常容易扩展

大数据量,高性能: NoSQL数据库都具有非常高的读写性能, 尤其在大数据量下表现优秀。 这得益于它的非关系性,数据库的结构简单

灵活的数据模型: NoSQL无需事先为要存储的数据建立字段, 随时可以存储自定义的数据格式。 而在关系数据库中, 增删字段是一件非常麻烦的事情。 如果是非常大数据量的表, 增加字段简直就是一个噩梦

二、Mongodb的安装

1. Linux安装mongodb

以ubuntu18.04为例

  • mongodb具有两种安装方式:命令安装 或 源码安装

(1)命令安装

  • 在ubuntu中使用apt-get工具安装
sudo apt-get install -y mongodb-org
①、无法找到软件包 mongodb-org的解决
  1. 导入包管理系统使用的公钥
    Ubuntu软件包管理工具(即dpkg和apt)通过要求分销商使用GPG密钥对软件包进行签名来确保软件包的一致性和真实性。使用以下命令以导入MongoDB公共GPG密钥:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
  1. 为MongoDB创建一个列表文件
    创建/etc/apt/sources.list.d/mongodb-org-4.0.list
  • ①、Ubuntu 14.04:echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
  • ②、Ubuntu 16.04:echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
  1. 更新apt
    sudo apt-get update
  2. 安装mongodb
    sudo apt-get install -y mongodb-org
  • 安装指定版本的MongoDB
sudo apt-get install -y mongodb-org=4.0.0 mongodb-org-server=4.0.0 mongodb-org-shell=4.0.0 mongodb-org-mongos=4.0.0 mongodb-org-tools=4.0.0

或参考官方文档 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

(2)源码安装

①、选择相应版本和操作系统并下载

https://www.mongodb.com/download-center/community?jmp=docs

②、解压

tar -zxvf mongodb-linux-x86_64-ubuntu1804-4.0.3.tgz

③、移动到/usr/local/目录下

sudo mv -r mongodb-linux-x86_64-ubuntu1804-4.0.3/ /usr/local/mongodb

④、在shell的初始化脚本.bashrc中添加mongodb可执行文件到环境变量PATH中

a. 进入.bashrc文件中

cd ~
sudo vi .bashrc

b. 在.bashrc文件的最后添加:

export PATH=/usr/local/mongodb/bin:$PATH
⑤、mongodb启动失败解决方法
root@ubuntu:/usr/bin# mongo
MongoDB shell version v4.0.23
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
2021-04-08T19:48:24.942+0800 E QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:356:17
@(connect):2:6
exception: connect failed
  • 解决方式一: 创建目录 /data/db
cd /
mkdir data
cd data
mkdir db
  • 查找到mongo的安装路径
root@instance-tbbjrcnc:/# whereis mongo
mongo: /usr/bin/mongo
  • 然后手动启动mongo
root@instance-tbbjrcnc:/# cd /usr/bin/
root@instance-tbbjrcnc:/usr/bin# sudo ./mongod  -dbpath /data/db/
  • 输入命令后,日志开始在终端打印,随后在桌面再打开命令终端输入mongo即可运行成功。
    解决方式二:

(3)mongodb的官方文档

https://docs.mongodb.com/manual/introduction/

2.Windows安装Mongodb

(1)Windows安装Mongodb

  • 安装过程中,你可以通过点击 “Custom(自定义)” 按钮来设置你的安装目录。
  • 自定义Mongodb数据库的安装路径。
  • 这里选择直接next:
  • 下一步安装 “install mongoDB compass” 不勾选(当然你也可以选择安装它,可能需要更久的安装时间),MongoDB Compass 是一个图形界面管理工具,我们可以在后面自己到官网下载安装,下载地址:https://www.mongodb.com/download-center/compass。
  • 点击Finish,完成安装。

(2)配置MongoDB

  • 本次安装的是Mongodb4.4版本
  • 首先要在MongoDB的data文件夹里新建一个db文件夹和一个log文件夹:
  • 然后将D:\Mongodb\Server\4.4\bin添加到环境变量path中
  • 启动MongoDB服务,在cmd窗口中运行如下命令:
mongod --dbpath D:\Mongodb\Server\4.4\data
  • 运行成功之后,我们打开浏览器,输入127.0.0.1:27017,看到如下图,就说明MongoDB服务已经成功启动了。
  • 但是如果每次都要这么启动服务的话也太麻烦了吧,这里你可以选择设置成开机自启动,也可以选择用命令net start mongodb来手动启动,这里我选择使用后者,具体方法如下。
  • 还是打开cmd窗口,不过这次是以管理员身份运行,然后输入如下命令:
mongod --dbpath "D:\Mongodb\Server\4.4\data" --logpath "D:\Mongodb\Server\4.4\log\mongo.log" -install -serviceName "MongoDB"

mongodb select 字段 mongodb sql_mongodb select 字段

  • 如果没有报错的话就说明成功添加到服务里了,可以使用win+R然后输入services.msc命令进行查看:
  • 如果想要改为手动启动Mongodb数据库,可按以下操作
    ①、运行sc delete mongodb删除服务;
    ②、再运行一次配置服务的命令:
mongod --dbpath "D:\Mongodb\Server\4.4\data" --logpath "D:\Mongodb\Server\4.4\log\mongo.log" -install -serviceName "MongoDB"
  • 然后再运行net start mongodb,服务启动成功: