数据库应用:Ubuntu 20.04 安装MongoDB

本文详细介绍了在Ubuntu20.04和22.04上安装MongoDB的过程,包括理论概念、实验步骤以及遇到的问题,如apt包管理器错误、vim安装冲突和阿里云源更换。还对比了mongod和mongo的区别。

目录

一、理论

1.MongoDB

二、实验

1.Ubuntu 20.04 安装MongoDB

三、问题

1.Ubuntu Linux的apt 包管理器更新安装软件报错

2.Ubuntu20.04安装vim报错

3.Ubuntu20.04如何更换阿里源

4.Ubuntu22.04如何更换阿里源


一、理论

1.MongoDB

(1)概念

MongoDB 是由C++语言编写并基于分布式文件存储的开源数据库,属于NOSQL 。

MongoDB 是一款介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的NOSQL数据库。它面向文档存储,而且安装和操作起来都比较简单和容易,而且它支持各种流行编程语言进行操作,如Python,Node.js,Java,C++,PHP,C#等。

目前在大数据、内容管理、持续交付、移动应用、社交应用、用户数据管理、数据中心等领域皆有广泛被使用。

(2)MongoDB相对于RDBMS的优势

1)   无固定结构 。

2)  数据结构由键值(key=>value)对组成。MongoDB 的文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组,单个对象的结构是清晰的。

3)   没有复杂的表连接。不需要维护表与表之间的内在关联关系。

4)   查询功能强大。MongoDB的查询功能几乎与SQL一样强大,使用基于文档的查询语言,可以对文档进行动态查询。

5)   易于调优和扩展。具备高性能、高可用性及可伸缩性等特性

6)   应用程序对象与数据库对象天然对应。

7)   可以基于内存存储或者硬盘文件存储,提供丰富的查询操作和索引支持,也有事务操作,可以更快地更稳定的访问数据。(mongoDB4.0以后才真正支持所谓的多文档事务操作)

(3)术语对比

表1 SQL与MongoDB对比

SQL Mongodb
库(database) 库(database)
表(Table) 集合(Collection)
行/记录(Row) 文档(Document)
列/字段(Col) 字段/键/域(Field)
主键(Primary Key) 对象ID(ObjectId)
索引(Index) 索引(Index)

(4)基本操作

db.help()                    help on db methods   查看操作数据的方法
	db.mycoll.help()             help on collection methods  查看集合的操作方法
	sh.help()                    sharding helpers  查看分片集share的帮助信息
	rs.help()                    replica set helpers 查看复制集的帮助信息
	help admin                   administrative help 查看管理的操作帮助信息
	help connect                 connecting to a db help
	help keys                    key shortcuts
	help misc                    misc things to know
	help mr                      mapreduce

	show dbs                     show database names  查看当前系统所有的数据库
	show collections             show collections in current database 查看当前数据库所有的数据集合
	show users                   show users in current database  查看当前数据库中所有的管理员用户
	show profile                 show most recent system.profile entries with time >= 1ms
	show logs                    show the accessible logger names 查看全部日志
	show log [name]              prints out the last segment of log in memory, 'global' is default                          查看指定日志信息
	use <db_name>                set current database   切换操作的数据库
	db.mycoll.find()             list objects in collection mycoll  列出当前指定集合下的所有文档
	db.mycoll.find( { a : 1 } )  list objects in mycoll where a == 1 按条件查询指定集合下所有文档
	it                           result of the last line evaluated; use to further iterate
	                             查看更多的查询结果,相当于下一页
	DBQuery.shellBatchSize = x   set default number of items to display on shell
	                      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值