Mongodb数据库的安装部署及基本使用
admin
2024-04-23 01:17:20
0

Mongodb数据库的安装部署及基本使用

  • 一、Mongodb数据库介绍
    • 1.Mongodb简介
    • 2.Mongodb适用场景
    • 3.MongoDB特性
  • 二、检查本地系统环境
    • 1.检查系统版本
    • 2.检查yum仓库
  • 三、Mongodb的安装
    • 1.配置Mongodb的yum源
    • 2.安装Mongodb
    • 3.修改绑定IP
    • 4.启动Mongodb服务
  • 四、检查Mongodb状态
    • 1.查看Mongodb服务状态
    • 2.检查Mongodb服务端口
    • 3.检查Mongodb版本
  • 五、连接Mongodb
    • 1.本地连接Mongodb数据库
    • 2.查看默认数据库
  • 六、Mongodb数据库的基本操作
    • 1.创建一个数据库
    • 2.进入某个数据库
    • 3.向数据库中插入数据
    • 4.查看数据库列表
    • 5.查询表中数据
    • 6.删除数据库
    • 7.创建单个集合
    • 8.删除单个集合
  • 七、Mongodb数据的增删查改
    • 1.向集合中插入文档数据——增
    • 2.查找数据——查
      • ①查找一个集合中所有数据
      • ②查询单个文档数据
      • ③查看集合内容,以固定格式显示
    • 3.更改数据——改
      • ①更新集合中文档数据
      • ①新文档替换旧文档
    • 4.删除数据——删

一、Mongodb数据库介绍

1.Mongodb简介

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,它是一个面向集合的,模式自由的文档型数据库。

2.Mongodb适用场景

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。

3.MongoDB特性

  • 面向集合存储,易于存储对象类型的数据。
  • 模式自由
  • 支持动态查询
  • 支持完全索引,包含内部对象
  • 支持复制和故障恢复
  • 使用高效的二进制数据存储,包括大型对象(如视频等)
  • 自动处理碎片,以支持云计算层次的扩展性
  • 文件存储格式为BSON(一种JSON的扩展

二、检查本地系统环境

1.检查系统版本

[root@master ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

2.检查yum仓库

[root@master ~]# yum repolist all
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                                                  repo name                                                                     status
!base/7/x86_64                                           CentOS-7 - Base - mirrors.aliyun.com                                          enabled: 10,072
centosplus/7/x86_64                                      CentOS-7 - Plus - mirrors.aliyun.com                                          disabled
contrib/7/x86_64                                         CentOS-7 - Contrib - mirrors.aliyun.com                                       disabled
!extras/7/x86_64                                         CentOS-7 - Extras - mirrors.aliyun.com                                        enabled:    515
!mariadb                                                 MariaDB                                                                       enabled:     96
!updates/7/x86_64                                        CentOS-7 - Updates - mirrors.aliyun.com                                       enabled:  4,385
repolist: 15,068

三、Mongodb的安装

1.配置Mongodb的yum源

[root@server yum.repos.d]# cat mongodb.repo 
[mongodb-org]
name=MongoDB Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el$releasever/
gpgcheck=0
enabled=1

2.安装Mongodb

yum install -y mongodb-org-server mongodb-org

3.修改绑定IP


[root@server yum.repos.d]# grep bind /etc/mongod.conf bindIp: 0.0.0.0  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
[root@server yum.repos.d]#

4.启动Mongodb服务

systemctl start mongod.service
systemctl enable  mongod.service

四、检查Mongodb状态

1.查看Mongodb服务状态

[root@server ~]# systemctl status  mongod.service
● mongod.service - MongoDB Database ServerLoaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)Active: active (running) since Thu 2022-11-24 15:27:34 CST; 12min agoDocs: https://docs.mongodb.org/manualMain PID: 13566 (mongod)CGroup: /system.slice/mongod.service└─13566 /usr/bin/mongod -f /etc/mongod.confNov 24 15:27:33 server systemd[1]: Starting MongoDB Database Server...
Nov 24 15:27:33 server mongod[13563]: about to fork child process, waiting until server is ready for connections.
Nov 24 15:27:33 server mongod[13563]: forked process: 13566
Nov 24 15:27:34 server mongod[13563]: child process started successfully, parent exiting
Nov 24 15:27:34 server systemd[1]: Started MongoDB Database Server.

2.检查Mongodb服务端口


[root@server ~]#  netstat -tunlp |grep 27017
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      13566/mongod 

3.检查Mongodb版本


[root@server ~]# mongo  --version
MongoDB shell version v5.0.14
Build Info: {"version": "5.0.14","gitVersion": "1b3b0073a0b436a8a502b612f24fb2bd572772e5","openSSLVersion": "OpenSSL 1.0.1e-fips 11 Feb 2013","modules": [],"allocator": "tcmalloc","environment": {"distmod": "rhel70","distarch": "x86_64","target_arch": "x86_64"}
}

五、连接Mongodb

1.本地连接Mongodb数据库

[root@server ~]# mongo
MongoDB shell version v5.0.14
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("0db22758-cc95-44c1-ad0f-d86eaf743a35") }
MongoDB server version: 5.0.14
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
---
The server generated these startup warnings when booting: 2022-11-24T15:27:33.653+08:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem2022-11-24T15:27:34.223+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted2022-11-24T15:27:34.223+08:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'2022-11-24T15:27:34.223+08:00: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. We suggest setting it to 'never'
---
---Enable MongoDB's free cloud-based monitoring service, which will then receive and displaymetrics about your deployment (disk utilization, CPU, operation statistics, etc).The monitoring data will be available on a MongoDB website with a unique URL accessible to youand anyone you share the URL with. MongoDB may use this information to make productimprovements and to suggest MongoDB products and deployment options to you.To enable free monitoring, run the following command: db.enableFreeMonitoring()To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
> 

2.查看默认数据库

  • admin: 从权限的角度来看,这是"root"数据库。超级管理员的库,存储用户信息。
  • local:这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合。
  • config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

>  show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB

六、Mongodb数据库的基本操作

1.创建一个数据库

> use school;
switched to db school

2.进入某个数据库

> use shcool;
switched to db shcool

3.向数据库中插入数据

> db.class.insert({ "name": "王笑笑", "age": "18", "genden": "female" });
WriteResult({ "nInserted" : 1 })

4.查看数据库列表


> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB
shcool  0.000GB

5.查询表中数据

> db.class.find()
{ "_id" : ObjectId("637f239ac5eeb43eb6901899"), "name" : "王天天", "age" : "18", "genden" : "female" }
{ "_id" : ObjectId("637f23b9c5eeb43eb690189a"), "name" : "王笑笑", "age" : "18", "genden" : "female" }

6.删除数据库

> use school;
switched to db school
> db.dropDatabase();
{ "ok" : 1 }

7.创建单个集合


> use school;
switched to db school
> db.createCollection("class")
{ "ok" : 1 }

8.删除单个集合


> show tables;
aabb
aacc
class
> db.aabb.drop()
true
> show tables;
aacc
class

七、Mongodb数据的增删查改

1.向集合中插入文档数据——增


> db.mall.insert({  "type":  "phone",  "price":  "3799","xinghao":  "huawei", "desc":  "abbbb" })
WriteResult({ "nInserted" : 1 })

2.查找数据——查

①查找一个集合中所有数据

> db.class.find()
{ "_id" : ObjectId("637f281942616feb174fa1a8"), "name" : "王笑笑", "age" : "18", "genden" : "female" }
{ "_id" : ObjectId("637f28a442616feb174fa1a9"), "name" : "李一一", "age" : "16", "genden" : "female" }

②查询单个文档数据


> db.class.find({"name" : "王笑笑"})
{ "_id" : ObjectId("637f281942616feb174fa1a8"), "name" : "王笑笑", "age" : "18", "genden" : "female" }

③查看集合内容,以固定格式显示


>  db.class.find().pretty();
{"_id" : ObjectId("637f281942616feb174fa1a8"),"name" : "王笑笑","age" : "18","genden" : "female"
}
{"_id" : ObjectId("637f28a442616feb174fa1a9"),"name" : "李一一","age" : "16","genden" : "female"
}
> 

3.更改数据——改

①更新集合中文档数据


> db.mall.find().pretty();
{"_id" : ObjectId("637f277b42616feb174fa1a7"),"type" : "phone","price" : "3799","xinghao" : "huawei","desc" : "abbbb"
}
> db.mall.find({"type" : "TV"})
{ "_id" : ObjectId("637f277b42616feb174fa1a7"), "type" : "TV", "price" : "3799", "xinghao" : "huawei", "desc" : "abbbb" }

①新文档替换旧文档

查看文档的ID号


> db.class.find()
{ "_id" : ObjectId("637f281942616feb174fa1a8"), "name" : "王笑笑", "age" : "18", "genden" : "female" }
{ "_id" : ObjectId("637f28a442616feb174fa1a9"), "name" : "李一一", "age" : "16", "genden" : "female" }

将将新文档替换ID为"637f281942616feb174fa1a8"

db.class.save({"_id" : ObjectId("637f281942616feb174fa1a8"),"title" : "MongoDB","description" : "MongoDB 是一个 Nosql 数据库","by" : "Runoob","url" : "http://www.runoob.com","tags" : ["mongodb","NoSQL"],"likes" : 110
})

查看集合内文档内容

> db.class.find()
{ "_id" : ObjectId("637f281942616feb174fa1a8"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "Runoob", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 }
{ "_id" : ObjectId("637f28a442616feb174fa1a9"), "name" : "李一一", "age" : "16", "genden" : "female" }
> 

4.删除数据——删

db.class.remove({"likes" : 110}, {justone: true})

相关内容

热门资讯

我快高二了,成绩好差,努力的话... 我快高二了,成绩好差,努力的话能上清华大学么?哇,志向太高了,预期目标也很高,建议你了解哈大学,看样...
敢达中主人公叫什么? 敢达中主人公叫什么?敢达有很多部,你说的是哪一部?seed里是基拉大和高达seed destiny里...
你觉得这两个人长得像吗?我觉得... 你觉得这两个人长得像吗?我觉得这两个人不像阿,为啥又那么多人说他们像,难道是我的眼光有问题?不像,眉...
原创 辣... 标题:辣椒油为什么那么香?因为放了它,独家秘方学起来。 在探索美食的旅程中,辣椒油无疑是一道亮丽的...
在手游中被人恶意辱骂,散布谣言... 在手游中被人恶意辱骂,散布谣言,捏造事实,诽谤诬陷,影响个人名誉, 该如何维护自己的利益?屏蔽了就好...
俞加偏旁组词 俞加偏旁组词喻 比喻中肆偷指者 小偷逾 逾越瑜 周卖逗轿瑜愈 治愈 愉 愉快偷,榆,逾,...
未闻花名ED secret b... 未闻花名ED secret base的简谱[高音举弯携正伏](低音)闹世1 4 5 5 6 6...
宝石是什么生成的 宝石是什么生成的碳在大自然下会生成
举例说明什么叫“谁怕谁”? 举例说明什么叫“谁怕谁”?有一天,张三和李四在吹牛,张三说,王二怕老婆,李四问:“谁怕谁”?
一个小村庄的故事 一个小村庄的故事阅读短文,回答问题。 在一片河坡上,早先有过一个很像样的小村庄。 ...
这首歌叫什么? 这首歌叫什么?应该是 外滩十八号袁成杰 戚薇我好喜欢
电脑用耳机的麦克录音,如何只录... 电脑用耳机的麦克录音,如何只录制自己的声音?或者说降低录制远处的声音?飞利浦耳机,学习英语时想录下自...
七雄争霸怎么修炼啊》》? 七雄争霸怎么修炼啊》》?进修炼馆选择武将在选择时间点击训练就行了 要不是你武将要进阶了不能修炼进...
求古言推荐! 求古言推荐!《云狂》《花千骨》云中歌 曾许诺
今宵酒醒何处 杨柳岸晓风残月 ... 今宵酒醒何处 杨柳岸晓风残月 赏析宿 醉 酒 醒 触 景 生 情
魔法阵要怎么画? 魔法阵要怎么画?小型魔法阵你用圆规画,不要选带针的那种圆规,留个眼儿不好看,选不带针的那种就没事。大...
哪部校园小说的女主角是唐果果? 哪部校园小说的女主角是唐果果?《这个年纪有点伤》《果果日记》
以超能失控世界为背景的小说 以超能失控世界为背景的小说经流年,碾碎在水落红莲。唯有牵绊,纵横在几度悲欢,让沉寂,尽过在千帆雾散,...
刘德华唱的哪些歌最经典? 刘德华唱的哪些歌最经典?忘情水男人哭吧不是罪刘德华的经典歌曲很多最有名的是忘情水,爱你一万年,我恨我...
斗罗大陆片头制作公司承认抄袭,... 斗罗大陆片头制作公司承认抄袭,这会对该剧的播放造成影响吗?当然会造成很大的影响,会造成该剧的播放量下...