Ubuntu22.04下安装MongoDB(6.0版本)并进行相关数据库操作

news2024/12/26 12:02:56

前言

昨天用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

小结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/132558.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图书管理系统(Java实现简易版)

目录前言预期效果分析1. book包1.1 Book类1.2 BookList 类2. user包2.1 User类2.2 AdminUser类2.3 NormalUser类3. opera包3.1 IOPeration 接口3.2 AddOperation 类3.3 BrrowOperation 类3.4 DelOperation 类3.5 ExitOperation 类3.6 FindOperation 类3.7 ReturnOperation 类3.…

wikijs-一款wiki系统

2022,别了。 1、介绍 wikijs是一款知识共享wiki,优点是有权限管理系统、支持多人协作共同维护、支持markdown格式、支持评论、风格简洁等等。适合作为个人博客,或者小团队的文档知识库。 效果图: 2、部署流程 2.1、安装dock…

前端 | 装饰你的github profile(github 首页)

1.创建存储库 您可以创建一个与您的 github 帐户名同名的存储库 添加README文件 2.编辑README.md 现在,可以根据自己的喜好修改 repo 中的自述文件,但我在考虑包含哪些信息时查看了其他开发人员的资料。通常包括简短的介绍、使用的技术堆栈和联系方式…

【JAVA进阶】包装类,Arrays类,Lambda表达式

📃个人主页:个人主页 🔥系列专栏:JAVASE基础 目录 一、包装类 二、Arrays类 三、Lambda表达式 一、包装类 其实就是8种基本数据类型对应的引用类型。 基本数据类型 引用数据类型 byte Byte short Short int Integer l…

GPU存储器架构

上表表述了各种存储器的各种特性。作用范围栏定义了程序的哪个部分能使用该存储器。而生存期定义了该存储器中的数据对程序可见的时间。除此之外,Ll和L2缓存也可以用于GPU程序以便更快地访问存储器。 总之,所有线程都有一个寄存器堆,它是最快…

Vue 页面渲染的流程

前言 在 Vue 核心中除了响应式原理外,视图渲染也是重中之重。我们都知道每次更新数据,都会走视图渲染的逻辑,而这当中牵扯的逻辑也是十分繁琐。 本文主要解析的是初始化视图渲染流程,你将会了解到从挂载组件开始,Vue…

2022年度总结与2023未来规划

这里写自定义目录标题2022年计划完成情况原始计划生活方面技术方面完成情况2023年规划初步安排技术方面生活方面2022年计划完成情况 原始计划 生活方面 健身(体重增到145)争取发展一个新的爱好(游泳、拳击)会做6个菜&#xff0c…

卷径计算详解(通过卷绕的膜长和膜厚进行计算)

有关卷绕+张力控制可以参看专栏的系列文章,文章链接如下: 变频器简单张力控制(线缆收放卷应用)_RXXW_Dor的博客-CSDN博客_收放卷应用张力控制的开闭环算法,可以查看专栏的其它文章,链接地址如下:PLC张力控制(开环闭环算法分析)_RXXW_Dor的博客-CSDN博客。https://blo…

元旦绚丽3D烟花代码

每天就是元旦了,新年怎么能少得了烟花呢?虽然绝大部分地区禁止燃放烟花,但该欣赏的烟花还是要欣赏滴~~ 最近整理文件,找到了一份烟花代码,3D特效,今天分享给大家,希望大家喜欢。 链接: https://…

深入浅出索引(下)

在上一篇文章中,我和你介绍了 InnoDB 索引的数据结构模型,今天我们再继续聊聊跟 MySQL 索引有关的概念。 在开始这篇文章之前,我们先来看一下这个问题: 在下面这个表 T 中,如果我执行 select * from T where k between 3 and 5,需要执行几次树的搜索操作,会扫描多少行…

搜索二叉树及其实现(迭代和递归实现)

二叉搜索树 二叉树搜索树又叫二叉排序树,它还有可能为一个空树。搜索二叉树的性质有 若他的左子树不为空,则左子树上所有节点的值都小于根节点。若他的右子树不为空,则右子树上所有节点的值都大于根节点。他的左右子树均为二叉搜索树 迭代…

微信小程序登录鉴权

小程序使用微信登录态进行授权登录 1、调用wx.login生成code wx.login()这个API的作用为当前用户生成一个临时的登录凭证,这个临时登录凭证有效期只有5分钟。拿到登录凭证后就可进行下一步操作,获取openid和session_key Taro.login().then((res) > …

Java:基于注解对类实例字段进行通用校验

前言 后台服务处理前端的请求时,会有这样的一种需求,即校验请求中的参数是否符合校验规则。校验参数是否符合的一种方法是,罗列请求参数,基于校验规则一个一个的校验参数,如果存在不符合的,就返回字段值不…

第20章 离差

第20章 离差 20.1 马尔可夫定理 一般来说,马尔可夫定理能够粗略估计一个随机变量的值等于一个比它的平均值大得多的值的概率。 例子:IQ的平均值是100。我们可以得到:最多1/3的人IQ可以达到300及以上,因为如果IQ>300的人超过…

基于情感词典、k-NN、Bayes、最大熵、SVM的情感极性分析及对比,含数据集

完整代码下载地址:基于情感词典、k-NN、Bayes、最大熵、SVM的情感极性分析及对比,含数据集 1、预处理 (1)、特征提取 对应文件:feature_extraction.py 最后结果: X^2值前几名的词语。能看出这些词都是一…

喜报丨武汉无名创新科技有限公司荣获国家“高新技术企业”证书,将助力高校科研与竞赛无人机产业加速发展!

2022年11月03日,高新技术企业认定管理官网公告了湖北省2022年第一批通过认定的高新技术企业名单,武汉无名创新科技有限公司(简称“无名创新”)榜上有名,证书编号为GR202242000480。“国家高新技术企业”认定是对无名创…

Java 并发编程知识总结【二】

3. 阻塞队列与线程池 3.1 阻塞队列 阻塞:必须要阻塞/不得不阻塞 阻塞队列是一个队列,在数据结构中是先进先出 线程1往阻塞队列里添加元素,线程2从阻塞队列里移除元素。 当队列是空的,从队列中获取元素的操作将会被阻塞 当队列…

OASIS协议标准文档的解读_第二部分

8 CELL REFERENCING 8.1 跟GDSII文件一样, 在OASIS文件中, cells也是用名字来标识的。一个CELL record不仅要包括一个cell的定义,还要包括它的名字。 PLACEMENT record根据cell的名字来指定cell的放置位置。跟GDSII一样,在OASIS中没有匿名的c…

APP应用渗透测试思路

今天继续给大家介绍渗透测试相关知识,本文主要内容是APP应用渗透测试思路。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未授权…

vue后台系统管理项目-echarts柱状图实现订单统计

echarts柱状图实现订单统计 主要功能 不同订单状态切换显示不同的柱状图数据;根据条件切换选择年度视图、月度视图;根据条件切换指定年份、指定月份显示当前的数据;根据搜索条件查询查看柱状图数据;柱状图数据导出功能&#xff0c…