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

网站空间租用多少钱怎样利用云盘做电影网站

网站空间租用多少钱,怎样利用云盘做电影网站,邹平网站建设公司,专业济南网站建设价格目录 一、 什么是 MongoDB 1. 主要特点 2. MongoDB 概念解析 3. 完整术语列表 二、 MongoDB 安装 1.安装依赖文件 2.解压与配置 3. 创建数据目录 4. 编译 OpensSSL 5. 启动 MOngoDB 三、 MongoDB Shell 1. 安装 MongoDB Shell 2. 验证 MongoDB Shell 四、 数据库…

目录

一、 什么是 MongoDB

1. 主要特点

2. MongoDB 概念解析

3. 完整术语列表

二、 MongoDB 安装

1.安装依赖文件

2.解压与配置

3. 创建数据目录

4. 编译 OpensSSL

5. 启动 MOngoDB 

三、 MongoDB Shell

1. 安装 MongoDB Shell

2. 验证 MongoDB Shell

四、 数据库管理

1. 查看与切换数据库

2. 创建与删除数据库

五、 集合管理

1. 查看集合

2. 创建集合

3. 更新集合名

4. 删除集合

六、 文档操作

1. 插入文档

2. 查询文档

3. 删除文档

4. 更新文档

先插入测试数据

七、 MongoDB 备份(mongodump)与恢复(mongorestore)

1. 安装备份与恢复命令

2. MongoDB 数据备份

3. MOngoDB 数据恢复

八、 MOngoDB 用户管理

1. 创建用户(切换到 testdb 数据库)

2. 启用认证(修改mongod.conf)

3.认证登录

4.删除用户


一、 什么是 MongoDB

MongoDB 是一个文档型数据库,数据以类似JSON 的文档形式存储。

MongoDB 的设计理念是为了应对大数据量、高性能和灵活性需求。

MongoDB使用集合(Collections)来组织文档(Documents),每个文档都是由键值对组成的。

  • 数据库(Database):存储数据的容器,类似于关系型数据库中的数据库。
  • 集合(Collection):数据库中的一个集合,类似于关系型数据库中的表。
  • 文档(Document):集合中的一个数据记录,类似于关系型数据库中的行(row),以 BSON 格式存储。

MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成,文档类似于JSON 对象,字段值可以包含其他文档,数组及文档数组:

1. 主要特点

  • 文档导向的存储:MongoDB 是一个面向文档的数据库,它以JSON-1ike 的格式存储数据,使得数据结构更加灵活和丰富。
  • 索引优化查询:MongoDB 允许用户为文档中的任意属性创建索引,例如FirstName 和 Address,从而提高查询效率和排序性能。
  • 数据镜像与扩展性:通过本地或网络创建数据的副本,MongoDB 实现了强大的数据冗余和扩展能力。
  • 水平扩展与分片:面对增加的负载,MongoDB 可以通过分片技术将数据分布到计算机网2络中的其他节点上,实现水平扩展。
  • 强大的查询语言:MongoDB 使用 JSON 格式的查询语法,支持复杂的查询表达式,包括对内嵌对象和数组的查询。
  • 数据更新:利用 update()命令,MongoDB 能够替换整个文档或更新指定的数据字段,提供了灵活的数据更新方式。
  • MapReduce 批量处理:MongoDB 的 MapReduce 功能专为大规模数据处理和聚合操作设计,通过 Map 函数的 emit(key,value)调用和 Reduce 函数的逻辑处理,实现高效的数据汇总。
  • MapReduce 脚本编写:Map 和 Reduce 函数使用 JavaScript 编写,可以通过 db.runCommand或mapreduce 命令在 MongoDB 中执行。
  • GridFs 大文件存储:GridFs 是 MongoDB 内置的功能,用于存储和检索大于 BSON 文档大小限制的文件,如图片和视频。
  • 服务端脚本执行:MongoDB 允许在服务端执行 JavaScript 脚本,提供了直接在服务端执行或存储函数定义以供后续调用的能力。
  • 多语言支持:MongoDB 提供了对多种编程语言的支持,包括但不限于 RUBY、PYTHON、AVA、C++、PHP 和C#。

2. MongoDB 概念解析

不管我们学习什么数据库都应该学习其中的基础概念,在 MongoDB 中基本的概念是文档、集合、数据库,下面我们挨个介绍。

下表将帮助您更容易理解 MongoDB 中的一些概念:

5QL 术语/概念MongoDB 术语/概念解释/说明
databasedatabase数据库
tablecollection数据库表/集合
rowdocument数据记录行/文档
columnfield数据字段/域
indexindex索引
table joins表连接,MongoDB 不支持
primary keyprimary key主键, MongoDB 自动将 id 字段设置为主键

3. 完整术语列表

  • 文档(Document):MongoDB 的基本数据单元,通常是一个JSON-like 的结构,可以包含多种数据类型。
  • 集合(Collection):类似于关系型数据库中的表,集合是一组文档的容器。在 MongoDB中,一个集合中的文档不需要有一个固定的模式。
  • 数据库(Database):包含一个或多个集合的MongoDB 实例:
  • BSON:Binary JSON 的缩写,是MongoDB 用来存储和传输文档的二进制形式的 JSON。
  • 索引(Index):用于优化查询性能的数据结构,可以基于集合中的一个或多个字段创建索引。
  • 分片(Sharding):一种分布数据到多个服务器(称为分片)的方法,用于处理大数据集和高吞吐量应用。
  • 副本集(Replica Set):一组维护相同数据集的 MongoDB 服务器,提供数据的冗余备份和高可用性。
  • 主节点(Primary):副本集中负责处理所有写入操作的服务器。
  • 从节点(Secondary):副本集中的服务器,用于读取数据和在主节点故障时接管为主节点。
  • MongoDB Shell:MongoDB 提供的命令行界面,用于与 MongoDB 实例交互。
  • 聚合框架(Aggregation Framework):用于执行复杂的数据处理和聚合操作的一系列操作。
  • Map-Reduce:一种编程模型,用于处理大量数据集的并行计算。
  • GridFs:用于存储和检索大于 BSON 文档大小限制的文件的规范。
  • 0bjectId:MongoDB 为每个文档自动生成的唯一标识符。
  • CRUD 操作:创建(Create)、读取(Read)、更新(Update)、删除(Delete)操作。
  • 事务(Transactions):从 MongoDB 4.0 开始支持,允许一组操作作为一个原子单元执行。
  • 操作符(0perators):用于查询和更新文档的特殊字段。
  • 连接(Join):MongoDB 允许在查询中使用 $lookup 操作符来实现类似 SQL 的连接操作
  • TTL(Time-To-Live):可以为集合中的某些字段设置 TTL,以自动删除旧数据。
  • 存储引擎(Storage Engine):MongoDB 用于数据存储和管理的底层技术,如WiredTiger和 MongoDB 的旧存储引擎 MMAPv1。
  • MongoDB Compass:MongoDB 的图形界面工具,用于可视化和管理 MongoDB 数据。
  • MongoDB Atlas:MongoDB 提供的云服务,允许在云中托管 MongoDB 数据库。

二、 MongoDB 安装

1.安装依赖文件

dnf install libcurl openssl -y

2.解压与配置

# 解压安装包
tar -zxvf mongodb-linux-x86_64-rhel8-8.0.8.tgz  
# 移动到指定目录
mv mongodb-linux-x86_64-rhel8-8.0.8 /usr/local/mongodb  # 添加环境变量(永久生效)
echo 'export PATH=/usr/local/mongodb/bin:$PATH' >> /etc/profile  
source /etc/profile  

3. 创建数据目录

mkdir -p /var/lib/mongo /var/log/mongodb  
chown `whoami` /var/lib/mongo /var/log/mongodb  # 赋予当前用户权限  

4. 编译 OpensSSL

dnf install -y gcc make perl  
tar xzf openssl-1.1.1w.tar.gz  
cd openssl-1.1.1w  
./config --prefix=/opt/openssl111 --openssldir=/opt/openssl111/ssl  
make -j$(nproc) && make install  # 配置环境变量
echo 'export LD_LIBRARY_PATH=/opt/openssl111/lib:$LD_LIBRARY_PATH' | sudo tee /etc/profile.d/openssl111.sh  
source /etc/profile.d/openssl111.sh  

5. 启动 MOngoDB 

mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork  
# 验证启动:查看日志或进程,出现"child process started successfully"则成功  

三、 MongoDB Shell

1. 安装 MongoDB Shell

tar xzf mongosh-2.5.0-linux-x64-openssl3.tgz  
cd mongosh-2.5.0-linux-x64-openssl3/bin/  
cp mongosh /usr/local/bin/  
cp mongosh_crypt_v1.so /usr/local/lib/  

2. 验证 MongoDB Shell

mongosh  # 本地默认连接(127.0.0.1:27017)  
# 成功提示:Connected to: mongodb://127.0.0.1:27017/...  

四、 数据库管理

1. 查看与切换数据库

show dbs;  // 列出所有数据库(需包含数据才会显示)  
use runoob;  // 切换/创建数据库(无数据时show dbs不显示)  
db;  // 查看当前数据库  

2. 创建与删除数据库

// 插入数据自动创建数据库
db.runoob.insertOne({name: "zhangsan"});  
show dbs;  // 此时runoob数据库可见  // 删除数据库(先切换到目标库)
use myDatabase;  
db.dropDatabase();  

五、 集合管理

1. 查看集合

show collections;  // 或 show tables  

2. 创建集合

db.createCollection("myComplexCollection", {  capped: true,  // 固定大小  size: 10485760,  // 10MB  max: 5000,  // 最多5000条  validator: {  // 文档校验  $jsonSchema: {  bsonType: "object",  required: ["name", "email"],  properties: {  name: { bsonType: "string" },  email: { bsonType: "string", pattern: ".+@.+" }  }  }  }  
});  

3. 更新集合名

db.adminCommand({  renameCollection: "test.oldCollection",  to: "test.newCollection"  
});  

4. 删除集合

db.kgc.drop();  // 删除kgc集合,返回true则成功  

六、 文档操作

1. 插入文档

db. myCollection.insertOne({
name: "Alice",
age:25,
city: "New York"
}):
#返回结果
{"acknowledged": true,
"insertedId": 0bjectId("60c72b2f9bld8b5a5f8e2b2d")}

2. 查询文档

find():批量查询// 查询所有文档,仅返回name和age(排除_id)
db.myCollection.find({}, { name: 1, age: 1, _id: 0 }  
).pretty();  // 格式化输出  findOne():单文档查询// 查询name为"Alice"的文档
db.myCollection.findOne({ name: "Alice" });  

3. 删除文档

deleteOne():删单条db.myCollection.deleteOne({ name: "Alice" });  deleteMany():删多条db.myCollection.deleteMany({ name: "Bob" });  findOneAndDelete():删除并返回db.myCollection.findOneAndDelete({ name: "Charlie" });  

4. 更新文档

先插入测试数据

db.myCollection.insertMany([  { name: "Alice", age: 25, status: "inactive" },  { name: "Bob", age: 30, status: "active" }  
]);  
updateOne():更新单条db.myCollection.updateOne(  { name: "Alice" },  { $set: { age: 26 } }  
);  updateMany():更新多条db.myCollection.updateMany(  { age: { $lt: 30 } },  { $set: { status: "active" } }  
);  replaceOne():替换文档db.myCollection.replaceOne(  { name: "Bob" },  { name: "Bob", age: 31, city: "New York" }  
);  findOneAndUpdate():更新并返回db.myCollection.findOneAndUpdate(  { name: "Charlie" },  { $set: { age: 36 } },  { returnDocument: "after" }  // 返回更新后的数据  
);  

七、 MongoDB 备份(mongodump)与恢复(mongorestore)

1. 安装备份与恢复命令

rpm -ivh mongodb-database-tools-rhel70-x86_64-100.12.0.rpm  

2. MongoDB 数据备份

# 备份test数据库到/data/backup
mongodump -h 127.0.0.1:27017 -d test -o /data/backup  

3. MOngoDB 数据恢复

# 从备份恢复test数据库(覆盖现有数据)
mongorestore -h 127.0.0.1:27017 -d test --drop /data/backup/test  

八、 MOngoDB 用户管理

1. 创建用户(切换到 testdb 数据库)

use testdb;  
db.createUser({  user: "testuser",  pwd: "password123",  roles: [  { role: "readWrite", db: "testdb" },  { role: "read", db: "testdb" }  ]  
});  

2. 启用认证(修改mongod.conf

security:  authorization: "enabled"  

3.认证登录

mongosh --host 127.0.0.1:27017 -u "testuser" -p "password123" --authenticationDatabase "testdb"  

4.删除用户

use testdb;  
db.dropUser("testuser");  

文章转载自:

http://bXHzdfjZ.fnbtn.cn
http://aY8BACFO.fnbtn.cn
http://iCunUJkC.fnbtn.cn
http://5DQyFatY.fnbtn.cn
http://auLQLqcR.fnbtn.cn
http://sLmn2QCH.fnbtn.cn
http://V7f5dHKP.fnbtn.cn
http://V8pwZDjK.fnbtn.cn
http://06loomGk.fnbtn.cn
http://jNFliTGS.fnbtn.cn
http://RbTAKIds.fnbtn.cn
http://2ZQH6FCh.fnbtn.cn
http://bemxjKXa.fnbtn.cn
http://ZYiuDxmL.fnbtn.cn
http://oElgDHQs.fnbtn.cn
http://Bi3AHpno.fnbtn.cn
http://DjydbvnS.fnbtn.cn
http://wWyTPTD9.fnbtn.cn
http://RxgvufWQ.fnbtn.cn
http://jiAosOUt.fnbtn.cn
http://IN5lgFFQ.fnbtn.cn
http://s0DKcDwD.fnbtn.cn
http://CLItfnRd.fnbtn.cn
http://vDuP6YNE.fnbtn.cn
http://XelQnTeF.fnbtn.cn
http://gdKZI47n.fnbtn.cn
http://6hxUEAHb.fnbtn.cn
http://nTNX9Y8d.fnbtn.cn
http://7aw2y4tf.fnbtn.cn
http://YeALUPTi.fnbtn.cn
http://www.dtcms.com/wzjs/653121.html

相关文章:

  • 怎么知道网站谁建的云南省工程建设信息网站
  • 电商网站网址在线网站建设平台
  • 网上注册公司什么网站常州网站制作优化
  • 网站建设报价word文档58同城鞍山招聘信息
  • 哈尔滨建设网站公司哪家好电商网站建设的目标
  • 河南平台网站建设建设网站需要申请报告
  • linux用.net做网站字体设计素材网
  • 企业网站建设开发公司网站实现留言功能吗
  • 连江网站建设服务重庆网站首页制作
  • 网站后台修改的页面不能显示徐州seo顾问
  • 广州市外贸网站建设品牌莫名接到网站建设电话
  • 电商网站开发模块网站对服务器要求
  • 金融公司 网站开发培训课程
  • 北京网站建设公司分享网站改版注意事项企业网站发展趋势
  • 网站托管如何收费wordpress自己做主题
  • 江门市智企互联网站建设网页设计企业网站素材库
  • 西安自适应网站建设新型建房有哪几种
  • 泉做网站的公司淘宝摄影培训推荐
  • 网站建设与制作教程网站建设江门网站建设推广平台
  • 达州网站制作深圳南山网的工作
  • 搞笑网站全站源码杭州工程建设网
  • 购物网站系统设计天津网站公司
  • 上海网站建设定制开发平面设计网络培训
  • 网站换模板有影响吗网上做室内设计的网站
  • 大型网站建设公司沈阳网站建设与维护实训总结
  • 手机网站开发注意的问题怀化网站建设有哪些
  • 众筹网站开发分析报告适合做视频的自媒体平台
  • 个人做网站要注意什么条件如何选择手机网站建设
  • 做网站上传信息软件wordpress模版怎么设计
  • 广西网站建设seo优化网站优化常见的优化技术