0 软件版本 Linux版本OpenEuler 24.03 SP3 LTS Hadoop版本hadoop3.5.0 HBase版本hbase2.5.14 MongoDB版本8.2.9 MongoDB Compass版本1.49.7 参考链接安装MongoDB Community Edition - 数据库手册 - MongoDB Docshttps://www.mongodb.com/try/download/compassMongoDB 8.0.3 手动安装指导 - Installation 安装部署 - openEuler 论坛————————————————版权声明本文为CSDN博主「orion0410」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。原文链接https://blog.csdn.net/2401_89005476/article/details/161834441# MongoDB 简介 ## 1. 基本概念 MongoDB 是一款使用 C 开发、基于分布式文件存储的开源 NoSQL 数据库。它介于传统关系型数据库与纯非关系型数据库之间也是功能最完善、使用体验最接近关系型数据库的 NoSQL 产品。 该数据库采用**文档型**数据存储方式底层以 BSON二进制 JSON格式完成数据存储与检索部署简单、上手门槛低同时兼容 Python、Java、C、PHP 等主流编程语言被广泛应用于大数据处理、内容管理、移动应用、社交平台、用户信息管理等各类业务场景。 MongoDB 具备三大核心特性 1. **动态数据模型**无需提前定义固定的数据表结构可灵活存储结构多变的数据适配业务频繁迭代、数据模型持续调整的场景。 2. **水平扩展能力**支持分片技术能够将海量数据拆分并分布式存储在多台服务器中有效提升数据库整体性能与服务可用性。 3. **读写性能优异**内置索引机制支持复杂条件查询可高效处理高并发、大数据量的读写请求。 ## 2. MongoDB 相较于传统关系型数据库的优势 1. **无固定表结构**数据以键值对形式组织文档结构类似 JSON 对象单个文档内还可嵌套其他文档、数组数据组织形式灵活自由。 2. **摒弃复杂关联关系**不需要维护多表之间的关联约束省去复杂的表连接操作简化数据设计与查询逻辑。 3. **查询能力强大**配套查询语法功能完备能力接近于 SQL可实现多样化的动态条件查询。 4. **运维与扩展简单**部署、调优难度低天然支持高可用与弹性扩容能够轻松应对业务规模增长。 5. **业务对象高度匹配**程序中的业务对象可以直接映射为数据库文档降低代码开发成本。 6. **存储模式灵活**支持内存、磁盘两种存储方式同时自 4.0 版本起正式支持多文档事务兼顾数据访问效率与数据一致性运行稳定可靠。x.2 MongoDB优势MongoDb相对于RDBMS的优势1.无固定结构 。2.数据结构由键值(keyvalue)对组成。MongoDB 的文档类似于 JSON 对象。字段值可以包含其他文档数组及文档数组单个对象的结构是清晰的。3.没有复杂的表连接。不需要维护表与表之间的内在关联关系。4.查询功能强大。MongoDB的查询功能几乎与SQL一样强大使用基于文档的查询语言可以对文档进行动态查询。5.易于调优和扩展。具备高性能、高可用性及可伸缩性等特性6.应用程序对象与数据库对象天然对应。7.可以基于内存存储或者硬盘文件存储提供丰富的查询操作和索引支持也有事务操作可以更快地更稳定的访问数据。(mongoDB4.0以后才真正支持所谓的多文档事务操作)。————————————————版权声明本文为CSDN博主「orion0410」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。原文链接https://blog.csdn.net/2401_89005476/article/details/161834441x.3MongoDB 的核心概念与传统 SQL 关系型数据库存在对应关系下表为两者常用术语对照SQL 数据库MongoDB 数据库数据库Database数据库Database数据表Table集合Collection数据行 / 记录Row文档Document列 / 字段Column字段 / 键Field主键Primary Key对象 IDObjectId索引Index索引Index简要说明数据库二者概念完全一致用于独立隔离不同业务的数据。集合相当于 SQL 中的数据表集合内可存放多条文档无需统一结构。文档是 MongoDB 的最小数据单元对应 SQL 里的单条数据记录以 BSON 格式存储。字段文档中的单个键值对等同于数据表的列。对象 IDMongoDB 自动为每条文档生成的唯一标识作用等价于关系型数据库的主键。索引功能用法基本相同均用于优化查询速度。x.4基本操作命令功能说明db.help()查看数据库对象db支持的所有操作方法帮助db.mycoll.help()查看指定集合如mycoll支持的所有操作方法帮助sh.help()查看分片Sharding相关辅助方法的帮助信息rs.help()查看副本集Replica Set相关辅助方法的帮助信息help admin查看数据库管理相关的操作帮助help connect查看数据库连接相关的帮助信息help keys查看 Shell 中的快捷键说明help misc查看其他杂项相关的提示信息help mr查看 MapReduce 相关的帮助说明show dbs列出当前系统中所有数据库名称show collections列出当前数据库中的所有集合show users查看当前数据库中定义的所有用户show profile查看最近执行时间 ≥ 1ms 的慢查询记录show logs列出所有可用的日志名称show log [name]查看指定日志的最后一段内容默认globaluse db_name切换当前操作的数据库若不存在则隐式创建db.mycoll.find()查询mycoll集合中的所有文档db.mycoll.find({ a : 1 })查询mycoll集合中字段a等于1的所有文档it迭代查看上一条查询的后续结果相当于翻页DBQuery.shellBatchSize x设置 Shell 中单次查询结果的默认显示条数默认 20MongoDB 安装与使用Linux Windows Python 完整版1 Linux 环境安装 MongoDB 社区版本节介绍在 openEuler 等 Linux 系统中手动安装 MongoDB Community Edition 的完整流程。1.1 下载安装包前往 MongoDB 官网下载对应系统版本的 MongoDB 安装包 https://www.mongodb.com/try/download/community首先查看系统架构确认版本匹配bash运行uname -m根据系统版本选择tgz 格式压缩包例如 CentOS 9 /openEuler x86_64。1.2 解压与重命名进入安装包所在目录如 “下载” 文件夹执行解压命令bash运行sudo tar -zxvf mongodb-linux-x86_64-rhel93-8.2.9.tgz -C /usr/local进入/usr/local目录将解压后的文件夹重命名为mongodbbash运行cd /usr/local sudo mv mongodb-linux-x86_64-rhel93-8.2.9 mongodb修改目录权限保证普通用户可正常使用bash运行sudo chown -R hadoop ./mongodb安装完成后MongoDB 根目录为plaintext/usr/local/mongodb1.3 创建数据与日志目录进入 MongoDB 目录创建数据存储路径和日志路径bash运行cd /usr/local/mongodb mkdir -p data/db mkdir -p data/log1.4 创建配置文件 mongodb.conf在 MongoDB 根目录下创建配置文件bash运行vim /usr/local/mongodb/mongodb.conf写入以下配置内容yamlstorage: dbPath: /usr/local/mongodb/data/db systemLog: destination: file logAppend: true path: /usr/local/mongodb/data/log/mongod.log net: port: 27017 bindIp: 0.0.0.0 processManagement: fork: true1.5 配置环境变量编辑用户环境变量文件bash运行vim ~/.bashrc在文件末尾添加bash运行export MONGODB_HOME/usr/local/mongodb export PATH$PATH:$MONGODB_HOME/bin使环境变量立即生效bash运行source ~/.bashrc1.6 启动 MongoDB使用配置文件启动 MongoDB 服务bash运行mongod --config /usr/local/mongodb/mongodb.conf查看端口是否正常监听bash运行netstat -lntup | grep 27017开放防火墙端口bash运行sudo firewall-cmd --zonepublic --add-port27017/tcp --permanent sudo firewall-cmd --reload2 使用 Navicat 连接 MongoDB2.1 建立连接打开 Navicat新建 MongoDB 连接主机Linux 虚拟机 IP端口27017 点击测试连接显示连接成功即可。可在图形界面中直接创建数据库、集合并进行数据管理。3 Windows 安装 MongoDB Shell3.1 下载安装包从官网下载 Windows 版本的 MongoDB Shellzip 压缩包 https://www.mongodb.com/try/download/shell3.2 解压与配置解压后放置到简单目录例如plaintextD:\mongosh将bin目录添加到 Windows 系统环境变量。打开 CMD使用以下命令连接 Linux 上的 MongoDBbash运行mongosh 192.168.80.128:270173.3 常用数据库操作命令bash运行db # 查看当前数据库 show dbs # 显示所有数据库 use 数据库名 # 切换/创建数据库 db.集合.find() # 查询文档 db.集合.insertOne({}) # 插入一条文档 db.集合.updateOne() # 更新一条文档 db.集合.deleteOne() # 删除一条文档 exit / quit() # 退出 shell4 Windows 安装 MongoDB Compass4.1 下载安装从官网下载 MongoDB Compass 安装包并安装 https://www.mongodb.com/try/download/compass4.2 连接数据库输入 Linux 虚拟机的 IP 与端口 27017建立连接。4.3 创建数据库与集合示例数据库名mongodb集合名Student插入示例数据json{ name: ZhangSan, score: { English: 65, Math: 86, Computer: 77 } }json{ name: LiSi, score: { English: 55, Math: 100, Computer: 88 } }4.4 在 Compass 中使用 Shell点击右上角Open MongoDB Shell可执行命令bash运行db.Student.find({}) # 查询所有学生 db.Student.find({name:LiSi}) # 查询指定学生 db.Student.find({name:LiSi},{score:1}) # 只查看成绩 db.Student.updateOne({name:LiSi}, {$set:{score.Math:95}})5 Python 操作 MongoDB5.1 安装依赖库bash运行pip install pymongo5.2 连接数据库python运行import pymongo client pymongo.MongoClient(mongodb://192.168.80.128:27017/) db client[mydb]5.3 插入数据python运行collection db[customers] data {name: John, address: Highway 37} result collection.insert_one(data) print(result.inserted_id)5.4 查询数据python运行for item in collection.find(): print(item)5.5 更新数据python运行query {name: John} new_values {$set: {address: Canyon 123}} collection.update_one(query, new_values)5.6 删除数据python运行query {name: John} collection.delete_one(query)5.7 完整示例代码python运行import pymongo # 连接 client pymongo.MongoClient(mongodb://192.168.80.128:27017/) db client[mydb] collection db[customers] # 插入 data {name: John, address: Highway 37} res collection.insert_one(data) print(插入ID, res.inserted_id) # 查询 for item in collection.find(): print(item) # 更新 query {name: John} new_val {$set: {address: Canyon 123}} collection.update_one(query, new_val) # 删除 collection.delete_one(query
openEuler安装MongoDB 8.2.9
0 软件版本 Linux版本OpenEuler 24.03 SP3 LTS Hadoop版本hadoop3.5.0 HBase版本hbase2.5.14 MongoDB版本8.2.9 MongoDB Compass版本1.49.7 参考链接安装MongoDB Community Edition - 数据库手册 - MongoDB Docshttps://www.mongodb.com/try/download/compassMongoDB 8.0.3 手动安装指导 - Installation 安装部署 - openEuler 论坛————————————————版权声明本文为CSDN博主「orion0410」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。原文链接https://blog.csdn.net/2401_89005476/article/details/161834441# MongoDB 简介 ## 1. 基本概念 MongoDB 是一款使用 C 开发、基于分布式文件存储的开源 NoSQL 数据库。它介于传统关系型数据库与纯非关系型数据库之间也是功能最完善、使用体验最接近关系型数据库的 NoSQL 产品。 该数据库采用**文档型**数据存储方式底层以 BSON二进制 JSON格式完成数据存储与检索部署简单、上手门槛低同时兼容 Python、Java、C、PHP 等主流编程语言被广泛应用于大数据处理、内容管理、移动应用、社交平台、用户信息管理等各类业务场景。 MongoDB 具备三大核心特性 1. **动态数据模型**无需提前定义固定的数据表结构可灵活存储结构多变的数据适配业务频繁迭代、数据模型持续调整的场景。 2. **水平扩展能力**支持分片技术能够将海量数据拆分并分布式存储在多台服务器中有效提升数据库整体性能与服务可用性。 3. **读写性能优异**内置索引机制支持复杂条件查询可高效处理高并发、大数据量的读写请求。 ## 2. MongoDB 相较于传统关系型数据库的优势 1. **无固定表结构**数据以键值对形式组织文档结构类似 JSON 对象单个文档内还可嵌套其他文档、数组数据组织形式灵活自由。 2. **摒弃复杂关联关系**不需要维护多表之间的关联约束省去复杂的表连接操作简化数据设计与查询逻辑。 3. **查询能力强大**配套查询语法功能完备能力接近于 SQL可实现多样化的动态条件查询。 4. **运维与扩展简单**部署、调优难度低天然支持高可用与弹性扩容能够轻松应对业务规模增长。 5. **业务对象高度匹配**程序中的业务对象可以直接映射为数据库文档降低代码开发成本。 6. **存储模式灵活**支持内存、磁盘两种存储方式同时自 4.0 版本起正式支持多文档事务兼顾数据访问效率与数据一致性运行稳定可靠。x.2 MongoDB优势MongoDb相对于RDBMS的优势1.无固定结构 。2.数据结构由键值(keyvalue)对组成。MongoDB 的文档类似于 JSON 对象。字段值可以包含其他文档数组及文档数组单个对象的结构是清晰的。3.没有复杂的表连接。不需要维护表与表之间的内在关联关系。4.查询功能强大。MongoDB的查询功能几乎与SQL一样强大使用基于文档的查询语言可以对文档进行动态查询。5.易于调优和扩展。具备高性能、高可用性及可伸缩性等特性6.应用程序对象与数据库对象天然对应。7.可以基于内存存储或者硬盘文件存储提供丰富的查询操作和索引支持也有事务操作可以更快地更稳定的访问数据。(mongoDB4.0以后才真正支持所谓的多文档事务操作)。————————————————版权声明本文为CSDN博主「orion0410」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。原文链接https://blog.csdn.net/2401_89005476/article/details/161834441x.3MongoDB 的核心概念与传统 SQL 关系型数据库存在对应关系下表为两者常用术语对照SQL 数据库MongoDB 数据库数据库Database数据库Database数据表Table集合Collection数据行 / 记录Row文档Document列 / 字段Column字段 / 键Field主键Primary Key对象 IDObjectId索引Index索引Index简要说明数据库二者概念完全一致用于独立隔离不同业务的数据。集合相当于 SQL 中的数据表集合内可存放多条文档无需统一结构。文档是 MongoDB 的最小数据单元对应 SQL 里的单条数据记录以 BSON 格式存储。字段文档中的单个键值对等同于数据表的列。对象 IDMongoDB 自动为每条文档生成的唯一标识作用等价于关系型数据库的主键。索引功能用法基本相同均用于优化查询速度。x.4基本操作命令功能说明db.help()查看数据库对象db支持的所有操作方法帮助db.mycoll.help()查看指定集合如mycoll支持的所有操作方法帮助sh.help()查看分片Sharding相关辅助方法的帮助信息rs.help()查看副本集Replica Set相关辅助方法的帮助信息help admin查看数据库管理相关的操作帮助help connect查看数据库连接相关的帮助信息help keys查看 Shell 中的快捷键说明help misc查看其他杂项相关的提示信息help mr查看 MapReduce 相关的帮助说明show dbs列出当前系统中所有数据库名称show collections列出当前数据库中的所有集合show users查看当前数据库中定义的所有用户show profile查看最近执行时间 ≥ 1ms 的慢查询记录show logs列出所有可用的日志名称show log [name]查看指定日志的最后一段内容默认globaluse db_name切换当前操作的数据库若不存在则隐式创建db.mycoll.find()查询mycoll集合中的所有文档db.mycoll.find({ a : 1 })查询mycoll集合中字段a等于1的所有文档it迭代查看上一条查询的后续结果相当于翻页DBQuery.shellBatchSize x设置 Shell 中单次查询结果的默认显示条数默认 20MongoDB 安装与使用Linux Windows Python 完整版1 Linux 环境安装 MongoDB 社区版本节介绍在 openEuler 等 Linux 系统中手动安装 MongoDB Community Edition 的完整流程。1.1 下载安装包前往 MongoDB 官网下载对应系统版本的 MongoDB 安装包 https://www.mongodb.com/try/download/community首先查看系统架构确认版本匹配bash运行uname -m根据系统版本选择tgz 格式压缩包例如 CentOS 9 /openEuler x86_64。1.2 解压与重命名进入安装包所在目录如 “下载” 文件夹执行解压命令bash运行sudo tar -zxvf mongodb-linux-x86_64-rhel93-8.2.9.tgz -C /usr/local进入/usr/local目录将解压后的文件夹重命名为mongodbbash运行cd /usr/local sudo mv mongodb-linux-x86_64-rhel93-8.2.9 mongodb修改目录权限保证普通用户可正常使用bash运行sudo chown -R hadoop ./mongodb安装完成后MongoDB 根目录为plaintext/usr/local/mongodb1.3 创建数据与日志目录进入 MongoDB 目录创建数据存储路径和日志路径bash运行cd /usr/local/mongodb mkdir -p data/db mkdir -p data/log1.4 创建配置文件 mongodb.conf在 MongoDB 根目录下创建配置文件bash运行vim /usr/local/mongodb/mongodb.conf写入以下配置内容yamlstorage: dbPath: /usr/local/mongodb/data/db systemLog: destination: file logAppend: true path: /usr/local/mongodb/data/log/mongod.log net: port: 27017 bindIp: 0.0.0.0 processManagement: fork: true1.5 配置环境变量编辑用户环境变量文件bash运行vim ~/.bashrc在文件末尾添加bash运行export MONGODB_HOME/usr/local/mongodb export PATH$PATH:$MONGODB_HOME/bin使环境变量立即生效bash运行source ~/.bashrc1.6 启动 MongoDB使用配置文件启动 MongoDB 服务bash运行mongod --config /usr/local/mongodb/mongodb.conf查看端口是否正常监听bash运行netstat -lntup | grep 27017开放防火墙端口bash运行sudo firewall-cmd --zonepublic --add-port27017/tcp --permanent sudo firewall-cmd --reload2 使用 Navicat 连接 MongoDB2.1 建立连接打开 Navicat新建 MongoDB 连接主机Linux 虚拟机 IP端口27017 点击测试连接显示连接成功即可。可在图形界面中直接创建数据库、集合并进行数据管理。3 Windows 安装 MongoDB Shell3.1 下载安装包从官网下载 Windows 版本的 MongoDB Shellzip 压缩包 https://www.mongodb.com/try/download/shell3.2 解压与配置解压后放置到简单目录例如plaintextD:\mongosh将bin目录添加到 Windows 系统环境变量。打开 CMD使用以下命令连接 Linux 上的 MongoDBbash运行mongosh 192.168.80.128:270173.3 常用数据库操作命令bash运行db # 查看当前数据库 show dbs # 显示所有数据库 use 数据库名 # 切换/创建数据库 db.集合.find() # 查询文档 db.集合.insertOne({}) # 插入一条文档 db.集合.updateOne() # 更新一条文档 db.集合.deleteOne() # 删除一条文档 exit / quit() # 退出 shell4 Windows 安装 MongoDB Compass4.1 下载安装从官网下载 MongoDB Compass 安装包并安装 https://www.mongodb.com/try/download/compass4.2 连接数据库输入 Linux 虚拟机的 IP 与端口 27017建立连接。4.3 创建数据库与集合示例数据库名mongodb集合名Student插入示例数据json{ name: ZhangSan, score: { English: 65, Math: 86, Computer: 77 } }json{ name: LiSi, score: { English: 55, Math: 100, Computer: 88 } }4.4 在 Compass 中使用 Shell点击右上角Open MongoDB Shell可执行命令bash运行db.Student.find({}) # 查询所有学生 db.Student.find({name:LiSi}) # 查询指定学生 db.Student.find({name:LiSi},{score:1}) # 只查看成绩 db.Student.updateOne({name:LiSi}, {$set:{score.Math:95}})5 Python 操作 MongoDB5.1 安装依赖库bash运行pip install pymongo5.2 连接数据库python运行import pymongo client pymongo.MongoClient(mongodb://192.168.80.128:27017/) db client[mydb]5.3 插入数据python运行collection db[customers] data {name: John, address: Highway 37} result collection.insert_one(data) print(result.inserted_id)5.4 查询数据python运行for item in collection.find(): print(item)5.5 更新数据python运行query {name: John} new_values {$set: {address: Canyon 123}} collection.update_one(query, new_values)5.6 删除数据python运行query {name: John} collection.delete_one(query)5.7 完整示例代码python运行import pymongo # 连接 client pymongo.MongoClient(mongodb://192.168.80.128:27017/) db client[mydb] collection db[customers] # 插入 data {name: John, address: Highway 37} res collection.insert_one(data) print(插入ID, res.inserted_id) # 查询 for item in collection.find(): print(item) # 更新 query {name: John} new_val {$set: {address: Canyon 123}} collection.update_one(query, new_val) # 删除 collection.delete_one(query