前言

昨天用ubuntu22.04安装redis-5.0.5服务,因为版本不兼容,导致问题频发,最终在老师帮助下解决了,这又一次提醒了版本兼容的重要性

MongoDB安装与部署

因为所用ubuntu版本为22.04,所以不能按照老师所给文档进行安装与部署,借鉴了几篇博文才算解决了所要解决的问题

首先一定要注意ubuntu版本和所要安装的数据库MongoDB版本的兼容

版本展示

正式流程

安装curl工具

相关命令:

apt install curl

导入MongoDB6.0版的公钥并检查公钥是否导入成功

相关命令:

curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -

apt-key list

向APT导入MongoDB6.0版软件包的资源链接

相关命令:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

sudo apt update

安装MongoDB

安装MongoDB前一定要先安装MongoDB的依赖libssl1.1(安装curl后使用curl命令安装)

相关命令如下:

curl -LO http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.20_amd64.deb

sudo dpkg -i ./libssl1.1_1.1.1-1ubuntu2.1~18.04.20_amd64.deb

sudo apt install mongodb-org

启动MongoDB服务并检查MongoDB服务状态

相关命令如下:

sudo systemctl start mongod

sudo systemctl status mongod

添加服务在系统启动的时候开启mongodb: sudo systemctl enable mongod

启动MongoDB

会发现如果不考虑版本,直接mongo --eval 'db.runCommand({connectionStatus: 1})' 会报错

因为版本是6.0,所以需要在终端输入mongosh,该命令相当于6.0版本之前的mongo命令

这时候就可以输入命令行了,输入show dbs

相关命令:

mongosh

查看MongoDB数据库中的所有数据库: show dbs

使用需要操作的数据库
可以理解为打开一个数据库,或新建一个数据库(MongoDB不需要预先创建文档,在使用时自动创建): use School

添加集合: db.createCollection(‘teacher’) (集合相当于mysql数据库中的表)

查看当前数据库的所有集合:show collections

插入数据:db.teacher.insert({_id:1,sname:’张三’,sage:20})

查询所有记录:db.teacher.find()

Mongo数据库相关操作

版本为6.0,其更新操作也发生了变化,所以摸索中试错了几次

相关命令:

更新操作:db.teacher.update({_id:1},{$set:{sname:'李四'}})

查询sname=‘李四’的记录:db.teacher.find({sname:'李四'})

查询指定列sname数据:db.teacher.find({},{sname:1})

AND条件查询:db.teacher.find({sname:'李四',sage:21})

OR条件查询:db.teacher.find({$or:[{sage:20},{sage:21}]})

格式化输出:db.teacher.find().pretty()

删除数据:db.teacher.remove({sname:’李四’})

删除集合:db.teacher.drop()


参考文章

  • https://blog.csdn.net/Lenhart001/article/details/127335370
  • https://blog.csdn.net/majiayu000/article/details/126491116
  • https://blog.csdn.net/dongkeai/article/details/127330013

小结

此为经验篇,供参考,少踩坑~