当前位置: 首页 > news >正文

Ubuntu22.04 安装Mongodb6.X

Ubuntu22.04 安装Mongodb6.X

1、Mongodb简介

1.1 什么是MongoDB?

Mongodb是一个跨平台的面向文档的NoSQL数据库。它使用带有可选模式的类似JSON的BSON来存储数据。应用程序可以以JSON格式检索信息。

1.2 MongoDB的优点

  • 可以快速开发web型应用,因为灵活,不用像关系型数据库一样需要建表
  • MongoDB存储的是文档(document),文档内存储的是类似json的结构,所谓json就是字符串数组

1.3 MongoDB的数据库分类

  • 数据库(database):用来存储集合的,而且数据库也有分大小
  • 集合(collection):集合类似于数组,用于存放文档的
  • 文档(document):文档是MongoDB数据库中最小的单位

image.png-169.6kB

MongoDB关系: 数据库(database) > 集合(collection)> 文档(document)

2、安装mongodb

2.1 导入MongoDB6.0版的公钥

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

2.2 更新apt资源库

root@Mongodb:~# apt update

2.3 创建列表文件

root@Mongodb:~# echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-6.0.listroot@Mongodb:~# apt update

2.4 安装MongoDB的依赖libssl1.1

root@Mongodb:~# curl -LO http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.21_amd64.debroot@Mongodb:~# dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.21_amd64.deb

2.5 安装mongodb

root@Mongodb:~# apt-get install -y mongodb-org

3、启动MongoDB服务

#启动MongoDB服务
root@Mongodb:~# systemctl start mongod#检查MongoDB服务状态
root@Mongodb:~# systemctl status mongod |grep activeActive: active (running) since Tue 2023-02-21 16:54:50 CST; 10s ago#设置服务开机自启动
root@Mongodb:~# systemctl enable mongod

4、MongoDB的使用

4.1 进入MongoDB

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

root@Mongodb:~# mongosh
Current Mongosh Log ID:	63f48e2e5d50ed0f2ed35d3c
Connecting to:		mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.7.1
Using MongoDB:		6.0.4
Using Mongosh:		1.7.1For mongosh info see: https://docs.mongodb.com/mongodb-shell/To help improve our products, anonymous usage data is collected and sent to MongoDB periodically (https://www.mongodb.com/legal/privacy-policy).
You can opt-out by running the disableTelemetry() command.------The server generated these startup warnings when booting2023-02-21T16:54:50.226+08:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem2023-02-21T16:54:50.700+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted2023-02-21T16:54:50.700+08:00: vm.max_map_count is too low
------------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()
------test>

4.2 查看MongoDB数据库中的所有数据库

test> show dbs
admin   40.00 KiB
config  12.00 KiB
local   40.00 KiB

4.3 打开或者新建一个数据库

MongoDB不需要预先创建文档,在使用时自动创建

test> use fib
switched to db fib
fib>

4.4 添加集合

集合相当于mysql数据库中的表

fib> db.createCollection('teacher')
{ ok: 1 }
fib> show collections
teacher

4.5 插入数据

fib> db.teacher.insert({_id:1,sname:'张三',sage:20})
DeprecationWarning: Collection.insert() is deprecated. Use insertOne, insertMany, or bulkWrite.
{ acknowledged: true, insertedIds: { '0': 1 } }

4.6 查询所有记录

fib> db.teacher.find()
[ { _id: 1, sname: '张三', sage: 20 } ]

4.7 更新操作

fib> db.teacher.update({_id:1},{$set:{sname:'李四'}})
DeprecationWarning: Collection.update() is deprecated. Use updateOne, updateMany, or bulkWrite.
{acknowledged: true,insertedId: null,matchedCount: 1,modifiedCount: 1,upsertedCount: 0
}

4.8 查询

4.8.1 查询sname='李四'的记录

fib> db.teacher.find({sname:'李四'})
[ { _id: 1, sname: '李四', sage: 20 } ]

4.8.2 查询指定列sname数据

fib> db.teacher.find({},{sname:1})
[ { _id: 1, sname: '李四' } ]

4.8.3 AND条件查询

fib> db.teacher.find({sname:'李四',sage:20})
[ { _id: 1, sname: '李四', sage: 20 } ]

4.8.4 OR条件查询

fib> db.teacher.find({$or:[{sage:20},{sage:21}]})
[ { _id: 1, sname: '李四', sage: 20 } ]

4.8.5 格式化输出

fib> db.teacher.find().pretty()
[ { _id: 1, sname: '李四', sage: 20 } ]

4.9 删除

4.9.1 删除数据

fib> db.teacher.remove({sname:'李四'})
DeprecationWarning: Collection.remove() is deprecated. Use deleteOne, deleteMany, findOneAndDelete, or bulkWrite.
{ acknowledged: true, deletedCount: 1 }

4.9.2 删除集合

fib> db.teacher.drop()
true
http://www.lryc.cn/news/15821.html

相关文章:

  • 启动内核,能启动内核但是无法进入内核,始终卡在某一地方,比如 No soundcards found.
  • SQL零基础入门学习(六)
  • 股票、指数、快照、逐笔... 不同行情数据源的实时关联分析应用
  • 华为OD机试真题Python实现【 不含 101 的数】真题+解题思路+代码(20222023)
  • centos7 搭建ELK(elasticsearch、logstash、kibana)
  • 如何写新闻稿?写好新闻稿的技巧与步骤
  • 抖音不想只做“开心果”
  • MATLAB | 如何用MATLAB绘制这样有气泡感的网络图
  • Linux 远程登录
  • SAP中BOM基础数量及组件数量单位比例关系的注意事项
  • 华为OD机试真题Python实现【最大相连男生数】真题+解题思路+代码(20222023)
  • Vue使用ElementUI对表单元素进行自定义校验
  • linux的文件权限介绍
  • 支付系统中的设计模式03:模板方法模式
  • 【黏住用户的不是小红书,而是它背后的那些人】
  • 基于STM32采用CS创世 SD NAND(贴片SD卡)完成FATFS文件系统移植与测试(中篇)
  • 0基础学插画是报班还是自学
  • 【Spring Cloud Alibaba】000-Spring Cloud Alibaba 问题集锦[持续更新]
  • Java使用MD5加盐对密码进行加密处理,附注册和登录加密解密处理
  • vue3组件篇 Select
  • 华为OD机试 - 员工出勤(Python) | 机试题+算法思路+考点+代码解析 【2023】
  • 力扣:27. 移除元素
  • 华为OD机试 - 剩余可用字符集(Python) | 机试题+算法思路+考点+代码解析 【2023】
  • 金三银四丨黑蛋老师带你剖析-安全开发岗
  • isNaN、Number.isNaN、isFinite、Number.isFinite
  • MyBatis分页插件
  • Vue组件间通信的四种方式(函数回调,自定义事件,事件总线,消息订阅与发布)
  • 华为OD机试真题Python实现【求字符串中所有整数的最小和】真题+解题思路+代码(20222023)
  • 行为型设计模式之中介者模式
  • JDK8增加的特性