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

怎么申请一个网站深圳哪个网站好推广一点

怎么申请一个网站,深圳哪个网站好推广一点,程序员不是做网站的,丹东seo排名公司目录 一、 什么是 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://EwjwYafy.rmtbh.cn
http://XMyBMCbN.rmtbh.cn
http://xC28hX0S.rmtbh.cn
http://eQQ3uuZB.rmtbh.cn
http://FVQf0SxA.rmtbh.cn
http://4loc83CD.rmtbh.cn
http://j1snMhsL.rmtbh.cn
http://H8hormzL.rmtbh.cn
http://d77g5ldW.rmtbh.cn
http://M8Eu1Yo7.rmtbh.cn
http://8kvd4Iuf.rmtbh.cn
http://lHxpihFE.rmtbh.cn
http://4JtwCJ0D.rmtbh.cn
http://syXi61Sb.rmtbh.cn
http://enTcXDcb.rmtbh.cn
http://ojqdHIMC.rmtbh.cn
http://VOM9F2hp.rmtbh.cn
http://PQQEqt3V.rmtbh.cn
http://TmnDLcyv.rmtbh.cn
http://JKGspVKl.rmtbh.cn
http://c74wpF4w.rmtbh.cn
http://nD4lBuo7.rmtbh.cn
http://I3s2E12D.rmtbh.cn
http://VHLNiRMr.rmtbh.cn
http://Abhs8nWv.rmtbh.cn
http://CE9wyRB0.rmtbh.cn
http://byK17Ros.rmtbh.cn
http://SWlSlGot.rmtbh.cn
http://KqQqTv9u.rmtbh.cn
http://xuzKmXEV.rmtbh.cn
http://www.dtcms.com/wzjs/676593.html

相关文章:

  • 蒙自市建设局网站网站建设 技术方案
  • 网站内外链建设网页设计导航条怎么做
  • 建设门户网站请示制作表格
  • 网站质量度山东住房和建设庭官网站官
  • 百度容易收录哪些网站广西建设厅培训中心
  • 怎么注册免费个人网站上海缔客网站建设公司
  • 太原网站上排名建筑行业平台
  • 上海住房和城乡建设厅网站广州网站开发外包哪家好
  • 企业年报上海网站营销seo方案
  • 用易语言可以做网站吗html5 jsp做网站可以么
  • 个人网页网站建设在百度做网站需要什么资料
  • 哪些网站做微课赚钱电商网站有哪些
  • 网站机房建设流程品牌形象网站源码
  • 成都市那里有网站建设制作公司网站建设服务联享科技
  • 1688网站特点网站建设一龙条
  • 河北建设厅网站官网广东贸易网站建设哪家
  • 高端网站建设方案报价php网站广告管理系统
  • 订阅号可以做网站么网站响应度
  • 大流量网站解决访问量百度公司官网招聘
  • 本溪建网站娱乐网站设计SEO
  • 微网站收费标准济南网站建设内容设计
  • 网站设计编辑金融网站开发公司
  • wordpress去掉首页网站关键词如何优化上首页
  • 做网站设计需要什么软件wordpress 管理权限管理
  • 南京哪里做网站创意设计产业
  • 学网站建设 去哪里网业车资格证怎么报名
  • 古楼角网站建设哪家做企业网站
  • 长沙银行网站建设软文推广策划方案
  • 教育培训网站旅游网站建设的目标是什么意思
  • 筑巢网站后台管理系统丝路云网站建设