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

重庆奉节网站建设公司推荐谷歌浏览器 官网下载

重庆奉节网站建设公司推荐,谷歌浏览器 官网下载,做网站有好创意想法,专门给小公司做网站目录 主要特点 MongoDB概念解析 完整术语列表 MongoDB安装 MongoDB Shell 安装MongoDB Shell 数据库管理 查看数据库列表 创建数据库 删除数据库 默认数据库 系统内置数据库 集合管理 查看集合 创建集合 更新集合名 删除集合 文档操作 插入文档 查询文档 …

目录

主要特点

MongoDB概念解析

完整术语列表

MongoDB安装

MongoDB Shell

安装MongoDB Shell

数据库管理

查看数据库列表

创建数据库

删除数据库

默认数据库

系统内置数据库

集合管理

查看集合

创建集合

更新集合名

删除集合

文档操作

插入文档

查询文档

删除文档

更新文档

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

安装备份与恢复命令

MongoDB数据备份

MongoDB数据库恢复

MongoDB用户管理


主要特点

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

MongoDB概念解析

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

完整术语列表

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

MongoDB安装

安装前我们需要安装各个Linux平台依赖包。解压安装包将解压包拷贝到指定目录MongoDB的可执行文件位于bin目录下,所以可以将其添加到PATH路径中:

dnf -y install libcurl openssl 
tar zxvf mongodb-linux-x86_64-rhel8-8.0.8.tgz
mv mongodb-linux-x86_64-rhel88-8.0.8 /usr/local/mongodb
echo
echo 'export PATH=/usr/local/mongodb/bin:$PATH' >>/etc/profile source /etc/profile

 我们在启动前可以先创建这两个目录并设置当前用户有读写权限:由于 mongodb 依赖openssl11,需要编译安装openssl11设置 openssl11的环境变量接下来启动 Mongodb 服务:看到以下信息,说明启动成功。

[root@localhost ~]#mkdir-p /var/lib/mongo
[root@localhost ~]#mkdir -p /var/log/mongodb
[root@localhost ~]#chownwhoami`/var/lib/mongo
[root@localhost ~]#chownwhoami /var/log/mongodb
[root@localhost ^]# dnf install -y gcc make perl
[root@localhost `]# tar xzf openssl-1.1.1w.tar.gz
[root@localhost ^]# cd openssl-1.1. l lw
[rootesentinel01 openss1-1.1.1w]#./config --prefix=/opt/openss111 --openssldir=
/opt/openss111/ssl
[root@sentinel01openssl-1.1.1.1w]#make -j$(nproc)
[root@sentinel01 openssl-1.1.1w]#make install
[root@localhost *]# echo 'export_D_LIBRARYPATH=/opt/openss111/lib:$LD_LIBRARY
PATH' | sudo tee /etc/profile.d/openssl11.sh
[root@localhost ~]# source /etc/profile.d/opensslll.sh
[root@localhost ~]#mongod --dbpath /var/lib/mongo --logpath/var/log/mongodb/m
ongod. log --fork

MongoDB Shell

MongoDBShell是MongoDB提供的官方交互式界面,允许用户与MongoDB数据库进行
交互、执行命令和操作数据库。
MongoDBShell是基于JavaScript的,允许用户直接在命令行或者脚本中使用Java
Script语言来操作MongoDB数据库。

安装MongoDB Shell

[root@localhost ^]# tar xzf mongosh-2.5.0-linux-x64-openss13tg2
[root@localhost ^]# cd mongosh-2.5.0-linux-x64-openss13
[root@localhost mongosh-2.5.0-linux-x64-openss13]# cd bin/
[root@localhost bin]# cp mongosh /usr/local/bin/
[root@localhost bin]# cp mongosh_crypt_vl.so /usr/loca/1ib/

                 验证MongoDB Shell 


mongosh -- host <hostname> ----port <port>
root@sentinel01 bin]# mongosh

数据库管理

查看数据库列表

要查看当前MongoDB实例中所有数据库的列表,可以使用
show dbs
show dbs
要查看当前正在使用的数据库,可以使用 db 命令:
db

创建数据库

在MongoDB中,数据库的创建是一个简单的过程,当你首次向MongoDB中插入数据时,
如果数据库不存在,MongoDB会自动创建它。
我们只需选择一个数据库名称,并开始向其中插入文档即可。

当你使用use命令来指定一个数据库时,如果该数据库不存在,MongoDB将自动创建它。
MongoDB 创建数据库的语法格式如下:


use DATABASE_NAME
test> use runoob
switched to db runoob
runoob> db
runoob
runoob>

 

runoob>
show dbs
admin
40.00KiB
config
60.00KiB
local
40.00 KiB
runoob

 

runoob> db.runoob.insert0ne({"name":"zhangsan"})
acknowledged: true,
insertedId: ObjectId('680al8f4277aalc07blb2700'
runoob>
show dbs.
admin
40.00KiB
config
60.00KiB
local
40.00KiB
runoob
40.00KiB
runoob>

删除数据库

如果你需要删除数据库,可以使用db.dropDatabase方法:

use myDatabase
db.dropDatabase ()

 

runoob> show dbs
admin
40.00KiB
config
60.00KiB
local
40.00KiB
runoob 40.00 KiB
runoob> use runoob
already on db runoob
test> db.dropDatabase()
{ ok: 1, dropped: 'runoob
runoob> show dbs
admin
40.00KiB
config
60.00KiB
local
40.00KiB

默认数据库

MongoDB中默认的数据库为test,如果你没有创建新的数据库库,数据将存放在test
数据库中。当您通过shell连接到MongoDB实例时,如果未使用use命令切换到其他数据库,则会默认使用test数据库。
例如,在启动MongoDB实例并连接到MongoDBshell后,如果您开始插入文档而未显
式指定数据库,MongoDB将默认使用 test数据库。

系统内置数据库

在MongoDB中,admin、config 和 local
是三个特殊的系统内置数据库
数据库:存储所有数据库的用户身份信息和全局权限(如 rcbot
用户)。用admin户必须通过
admin数据库认证后才能执行跨库管理操作。
数据库:仅在分片集群环境中存在。存储分片信息、块(chur1k)分布、集合
config分片策略等关键元数据。
local数据库:存储当前节点的副本集状态、操作日志(opl0g)等本地数据。数据不
会被复制到其他节点,仅存在于当前实例。

集合管理

查看集合

> show collections

创建集合

语法格式:
db.createCollection (name, options)
参数说明:
name:要创建的集合名称。
options:可选参数,指定有关内存大小及索引的选项。

参数名类型描述示例值
capped布尔值是否创建一个固定大小的集合。true
size数值集合的最大大小(以字节为单位)。仅在d 为true 时有效。
:cappe
10485760
(10MB)
max数值集合中允许的最大文档数。仅在capped 为tru 5000e 时有效。5000
validator对象用于文档验证的表达式。

{$jsonSchema:

{ ... }}

validationLevel字符串指定文档验证的严格程度。
"off":不进行验证。
"strict":插入和更新操作都必须通过验证(默认)。
"moderate":仅现有文档更新时必须通过验证,插
入新文档时不需要。
"strict"
validationAction字符串指定文档验证失败时的操作。
"error":阻止插入或更新(默认)。
warn":允许插入或更新,但会发出警告。
"error"
storageEngine对象为集合指定存储引擎配置。

{ wiredTiger:

{ ... }}

参数名类型描述示例值
collation对象指定集合的默认排序规则

{ locale: "en"

strength: 2 }

 

 

db.createCollection ("myComplexCollection",
capped: true,
size: 10485760,
max: 5000,
validator:{$jsonSchema: {
bsonType:"object",
required: ["name", "email"],
properties:{
name:
bsonType:
string",
description:"必须为字符串且为必填项"
email: {
bsonType: "string",
pattern:
description:"必须为有效的电子邮件地址"
}},
validationLevel:"strict",
validationAction:"error",
storageEngine: {
wiredTiger:{configString: "block_compressor=zstd
},
collation:{locale:"en", strength:2}
});

更新集合名

renameCollection命令的语法:
db.adminCommand({
renameCollection: "sourceDb. sourceCollection",
to: "targetDb.targetCollection
dropTarget: <boolean>

参数说明:
renameCollection:要重命名的集合的完全限定名称(包括数据库名)。
·to:目标集合的完全限定名称(包括数据库名)。
dropTarget(可选):布尔值。如果目标集合已经存在,是否否删除目标集合。默认值为f
alse.

1.确保已连接到 test数据库
use test
2.运行renameCollection命
db.adminCommand({
renameCollection: "test.oldCollection",
to:"test.newCollection" });
如果你要将集合重命名到另一个数据库,例如将test数据库中的oldCollection重命名
为production数据库中的newCollection,可以这样做:
db.adminCommand({
renameCollection: "test.oldCollection",
to:"production. newCollection" });

删除集合

>use mydb
switched to db
>db.createCollection("kgc")
{ok:1}
mydb>show collections
kgc
>db.kgc.drop()
true

文档操作

方法用途是否弃用
insertone ()插入单个文档
方法用途是否弃用
insertMany()插入多个文档
insert ()插入单个或多个文档
save插入或更新文档

 

db.myCollection. insertOne({
"Alice",
name
25,
age:
city: "New York"

插入文档

查询文档

db.myCollection.find();
db.myCollection.find(
$gt: 25 } },
age:
age: 1, id: 0 }
name:

删除文档

常用的删除文档方法包括deleteOne()、deleteMany
以及findOneAndDelete

db.myCollection.findOneAndDelete(
name:
"Charlie"
projection:
1.
name:
age:

更新文档

在MongoDB中,更新文档的操作可以使用多种方法实现,常用的方法包括
updateOne()、updateMany()、replaceOne()和findOneAndUpdate()。

插入测试数据

db. myCollection. insertMany([{ name: "Alice", age: 25,city: "LosAngeles", statu
"inactive" },{name: "Bob",age: 30,city: "Los Angeles",status:
"active"
S:
"Charlie", age: 35, city: "Chicago", status:
"active"}]);
name:

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

mongodump 用于创建 MongoDB 数据的二进制备份,支持全量备份或指定库 / 集合的增量备份

# 全量备份(默认连接 localhost:27017)
mongodump --out /path/to/backup/directory# 指定主机和端口
mongodump --host example.com --port 27017 --out /backup/dir# 指定认证信息(用户名和密码)
mongodump --username admin --password yourpassword --authenticationDatabase admin --out /backup/dir# 备份单个数据库
mongodump --db mydatabase --out /backup/dir# 备份单个集合
mongodump --db mydatabase --collection mycollection --out /backup/dir# 压缩输出(4.2+ 版本支持)
mongodump --gzip --out /backup/dir

 

恢复数据库 (mongorestore)

mongorestore 用于从 mongodump 创建的备份中恢复数据

# 从备份目录恢复(默认恢复到 localhost:27017)
mongorestore /path/to/backup/directory# 指定目标主机和端口
mongorestore --host example.com --port 27017 /backup/dir# 指定认证信息
mongorestore --username admin --password yourpassword --authenticationDatabase admin /backup/dir# 恢复到指定数据库(可重命名目标库)
mongorestore --db targetdb /backup/dir/sourcedb# 恢复单个集合
mongorestore --db targetdb --collection mycollection /backup/dir/sourcedb/mycollection.bson# 恢复时不删除现有数据(追加模式)
mongorestore --drop  # 恢复前删除同名集合(默认行为)
mongorestore --noDrop  # 保留现有数据,追加新文档# 从压缩备份恢复
mongorestore --gzip /backup/dir

安装备份与恢复命令

使用 Homebrew(推荐)

# 安装 MongoDB Database Tools
brew tap mongodb/brew
brew install mongodb-database-tools
手动下载二进制包

从 MongoDB 官网 下载适合 macOS 的 .tgz 包解压并移动到系统路径

tar -zxvf mongodb-database-tools-macos-x86_64-<version>.tgz
sudo cp mongodb-database-tools-macos-x86_64-<version>/bin/* /usr/local/bin/

 Ubuntu/Debian

# 添加 MongoDB 官方仓库
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update# 安装 Database Tools
sudo apt-get install -y mongodb-database-tools

CentOS/RHEL

 

# 添加 MongoDB 官方仓库
echo "[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc" | sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo# 安装 Database Tools
sudo yum install -y mongodb-database-tools

MongoDB数据备份

# 全量备份(默认 localhost:27017)
mongodump --out /data/backup/$(date +%Y%m%d)# 指定认证信息和压缩
mongodump --username admin --password 'pass' \--authenticationDatabase admin \--gzip --out /data/backup/$(date +%Y%m%d)

 

# 1. 冻结写入(临时阻塞写操作)
use admin
db.fsyncLock()# 2. 创建文件系统快照(如 LVM、云磁盘快照)
lvcreate -L 10G -s -n mongodb_snap /dev/mapper/vg_mongodb-lv_data# 3. 解除冻结
db.fsyncUnlock()
# 首次全量备份(含 oplog)
mongodump --oplog --out /data/backup/full_$(date +%Y%m%d)# 后续增量备份(从上次 oplog 时间点开始)
LATEST_OPLOG_TIME=$(cat /data/backup/full_*/oplog.bson | bsondump | tail -n 1 | jq -r '.ts.$timestamp.t')
mongodump --oplogReplay --oplogLimit "{'ts': {'\$gt': Timestamp($LATEST_OPLOG_TIME, 1)}}" --out /data/backup/incremental_$(date +%Y%m%d)

MongoDB数据库恢复

使用 mongorestore 恢复逻辑备份

从 mongodump 创建的备份中恢复数据

# 恢复全部数据库(默认覆盖同名集合)
mongorestore /path/to/backup/directory# 指定目标数据库(可重命名)
mongorestore --db newdb /path/to/backup/olddb# 恢复单个集合
mongorestore --db targetdb --collection users /path/to/backup/sourcedb/users.bson# 恢复时保留现有数据(追加模式)
mongorestore --noDrop /path/to/backup

MongoDB用户管理

创建管理员用户(首次配置)

启动 MongoDB 服务(未启用认证)

mongod --dbpath /data/db

连接 MongoDB 并创建管理员用户:

use admin
db.createUser({user: "admin",pwd: passwordPrompt(), // 交互式输入密码roles: [ { role: "root", db: "admin" } ]
})
db.auth("admin", passwordPrompt()) // 返回 1 表示认证成功

用户管理操作

 创建普通用户
use mydb  // 切换到目标数据库
db.createUser({user: "appuser",pwd: passwordPrompt(),roles: [{ role: "readWrite", db: "mydb" },  // 读写权限{ role: "read", db: "otherdb" }     // 只读权限]
})

http://www.dtcms.com/wzjs/134812.html

相关文章:

  • 哪个网站网页做的好看在百度上怎么打广告
  • 做租人网站犯法吗百度自然排名优化
  • 提供信息门户网站制作全球十大搜索引擎排名
  • 网站推广排名教程汕头seo关键词排名
  • b站推广入口mba智库在线观看今天刚刚发生的新闻最新新闻
  • wordpress多站点开启属于b2b的网站有哪些
  • 切片工具做网站怎么做谷歌seo网站建设
  • html5手机版seo优化服务
  • 网站建设_你真的懂吗?制作网页一般多少钱
  • 某服装公司网站建设论文抖音推广佣金平台
  • 贵阳做网站多少钱促销方案
  • 网站建设项目的工作分解ciliba磁力搜索引擎
  • 安乡网站制作软考培训机构哪家好一点
  • 网站后台上传模板网络营销的含义
  • 网站重要组成部分竞价推广价格
  • 怎么用自己的网站做邮箱小学生简短小新闻
  • 网站建设书案例疫情最新数据消息地图
  • 如何做淘客推广网站磁力猫torrent kitty
  • dw8做网站步骤图全国推广优化网站
  • 网站开发兼容问题全球最牛的搜索引擎
  • 做网站西域数码阿里云杭州优化商务服务公司
  • 网站自动弹窗代码搜索引擎营销的成功案例
  • 网站开发超链接点击后变色站长工具seo综合查询关键词
  • 宁波企业网站制作推荐2024年阳性什么症状
  • 做网站多少钱 注意什么网络推广公司排行榜
  • 自己做的网站怎么改背景图西安seo网站排名
  • 涡阳网站建设百度搜索推广收费标准
  • 如何在自己网站上做支付宝吗最新热搜新闻
  • 昆明网站开发兼职群线上推广怎么做
  • 广告公司网站(附falsh及源代码)在线优化网站