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

如果给公司做网站宁波靠谱营销型网站建设

如果给公司做网站,宁波靠谱营销型网站建设,马蜂窝旅游网站怎么做,毕设网站开发需要做什么目录 一、MongoDB 1. 简介 2. 主要特点 3. MongoDB 概念解析 与传统 SQL 术语对比 4. 完整术语列表 二、MongoDB 安装 三、 MongoDB Shell 四、数据库管理 五、集合管理 1. 查看集合 2. 创建集合 3. 更新集合名 4. 删除集合 六、文档操作 1. 插入文档 &#…

目录

一、MongoDB 

1.  简介

2. 主要特点

3. MongoDB 概念解析

与传统 SQL 术语对比

4. 完整术语列表

二、MongoDB 安装

三、 MongoDB Shell

四、数据库管理

五、集合管理

1. 查看集合

2. 创建集合

3. 更新集合名

4. 删除集合

六、文档操作

1. 插入文档

(1)insertOne()- 插入单条文档

(2)insertMany()- 批量插入文档

(3)save() - 保存文档

2. 查询文档

(1)find()方法- 查询多条文档

(2)findOne() 方法- 查询单条文档

3. 删除文档

(1)deleteOne() - 删除单条文档

(2)deleteMany()  - 批量删除文档

(3)findOneAndDelete() - 查找并删除

4. 更新文档

(1)updateOne() - 更新单条文档

(2)updateMany() - 批量更新文档

(3)replaceOne() - 替换整篇文档

(4)findOneAndUpdate()  - 查找并更新

七、MongoDB 备份与恢复

1. 安装备份与恢复命令

2. MongoDB 数据备份

3. MongoDB 数据恢复

八、MongoDB 用户管理

1. 连接数据库

2. 切换到目标数据库

3. 创建用户

4. 验证用户

5. 启用身份验证

6. 使用用户身份登录

7. 删除用户


一、MongoDB 

1.  简介

MongoDB 是开源的 文档型 NoSQL 数据库,由 MongoDB Inc. 开发。
核心定位

  • 以 JSON-like 格式(BSON) 存储数据

  • 无固定表结构,动态适应数据结构变化

  • 专为大规模数据和高并发场景设计

适用场景

  • 实时分析

  • 内容管理系统

  • 物联网数据存储

  • 移动应用后端

2. 主要特点

特性说明对比 SQL
灵活模式字段可动态增减,无预定义表结构需预定义列和数据类型
水平扩展分片集群支持 PB 级数据扩展依赖主从或分库分表
高性能读写内存映射引擎 + 原生索引优化受限于磁盘 I/O 和锁机制
聚合框架管道式数据处理(类似 SQL GROUP BY 的增强版)功能有限
地理空间支持内置地理坐标索引和查询需扩展插件实现
自动故障转移复制集(Replica Set)自动切换主节点需额外工具(如 MHA)

3. MongoDB 概念解析

与传统 SQL 术语对比
MongoDBSQL说明
数据库 (Database)Database数据容器(同名)
集合 (Collection)Table文档的容器(类似表)
文档 (Document)Row数据存储单元(JSON 格式)
字段 (Field)Column文档中的键值对
嵌入文档JOIN 查询嵌套子文档(替代关联表)
$lookupJOIN 操作跨集合关联查询(类似 LEFT JOIN)

4. 完整术语列表

术语说明
_id文档唯一标识符(类似主键)
BSONBinary JSON,MongoDB 的二进制存储格式(支持更多数据类型)
Shard分片,水平拆分数据的物理单元
Chunk分片内的数据块(默认 64MB),用于自动均衡分布
Replica Set复制集(1主 + N从),保障高可用
OpLog操作日志(类似 Binlog),用于主从同步
Aggregation Pipeline聚合管道,多阶段数据处理($match → $group → $sort
Index索引(支持单字段、复合、地理空间、全文索引)
TTL Index生存时间索引,自动过期数据(如日志)
Mongos路由进程,协调分片集群的查询分发
Config Server存储集群元数据(分片映射关系)
$lookup聚合阶段操作符,实现跨集合关联查询
Change Stream实时监听数据变更(类似触发器)

二、MongoDB 安装

#上传软件包
mongodb-database-tools-rhel70-x86_64-100.12.0.rpm
mongodb-linux-x86_64-rhel8-8.0.8.tgz
mongosh-2.5.0-linux-x64-openssl3.tar
openssl-1.1.1w.tar.gz

#安装依赖包
dnf -y install libcurl openssl
#解压安装包
tar zxvf mongodb-linux-x86_64-rhel8-8.0.8.tgz
#将解压包拷贝到指定目录
mv mongodb-linux-x86_64-rhel8-8.0.8 /usr/local/mongodb
cd /usr/local/mongodb
vim /etc/profileexport PATH=/usr/local/mongodb/bin:$PATH
#启动执行文件
source /etc/profile
#创建目录
mkdir -p /var/lib/mongo
mkdir -p /var/log/mongodb
#设置当前用户的读写权限
chown 'whoami'  /var/lib/mongo
chown 'whoami'  /var/log/mongodb#由于mongodb依赖openssl11,需要编译安装openssl11
#安装依赖包
dnf -y install gcc perl
#解压安装包
tar  zxvf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
#编译安装openssl11
./config --prefix=/opt/openssl11 --openssldir=/opt/openssl11/ssl
make -j2
make install#设置openssl11环境变量
cd /opt
cd openssl11/
vim /etc/profileexport LD_LIBRARY_PATH=/opt/openssl11/lib:$LD_LIBRARY_PATH
#启动执行文件
source /etc/profile.d/openssl11.sh
#启动mongodb服务
mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork##fork:守护进程

三、 MongoDB Shell

#解压安装包
tar zxvf mongosh-2.5.0-linux-x64-openssl3.tar
cd mongosh-2.5.0-linux-x64-openssl3
cd bin/
cp mongosh /usr/local/bin/
cp mongosh_crypt_vl.so /usr/local/bin/
#验证
mongosh --host <hostname> --port <port>
mongosh

四、数据库管理

1.查看数据库列表
>show dbs
//查看当前mongodb中所有数据库的列表
>db
//查看当前正在使用的数据库2.创建数据库
>use aaa
//使用【use 库名】命令创建数据库,如果数据库不存在则自动创建>db.aaa.insertOne({"":""})     //插入数据3.删除数据库
>db.dropDatabase()4. 默认数据库
默认数据库为 test ,若没创建新的数据库,数据默认放在这里。5.系统内置数据库
在数据库中,admin、config、local 是三个特殊的系统内置数据库admin:存储所有数据库的用户身份信息和全局权限,用户必须通过它认证后才可以执行跨库管理操作
config:仅在分片集群环境中存在,存储分片信息、块(chunk)分布、集合分片策略等关键元数据
local:存储当前节点的副本集状态、操作日志(oplog)等本地数据,数据不会被复制到其他节点,仅存在于当前实例。

五、集合管理

1. 查看集合

// 查看当前数据库所有集合
show collections// 查看集合详情(大小、文档数等)
db.getCollectionInfos({ name: "users" })

参数

  • filter:可选,过滤集合(如 { name: "users" }

2. 创建集合

db.createCollection(name, {  capped: <boolean>,        // 是否固定集合  size: <number>,           // 固定集合大小(字节)  max: <number>,            // 固定集合最大文档数  storageEngine: <document>,// 存储引擎配置  validator: <document>,    // 文档验证规则  ...  
})  

参数说明

参数类型默认值说明
namestring必填集合名称
cappedbooleanfalse是否固定大小(循环写入)
sizenumber-固定集合分配的字节大小
maxnumber-固定集合允许的最大文档数
validatordocument{}文档结构验证规则(JSON Schema)

3. 更新集合名

db.<oldCollectionName>.renameCollection(  "<newCollectionName>",  <dropTarget>  // 可选  
)  

参数

参数类型默认值说明
newCollectionNamestring必填新集合名称
dropTargetbooleanfalse是否删除已存在的同名集合(危险!)
oldCollectionName旧集合名称

4. 删除集合

db.<collection名称>.drop()

六、文档操作

1. 插入文档

(1)insertOne()- 插入单条文档

功能:向集合中插入一条新文档
语法

db.集合名.insertOne(  <文档>,                  // 【必填】要插入的文档(JSON对象)  {  writeConcern: <文档>  // 【可选】写关注级别  }  
)  

参数说明

参数类型说明
文档JSON对象要插入的数据(如 {name: "张三"}
writeConcernJSON文档写操作确认级别(如 { w: 2 } 需2个节点确认)
(2)insertMany()- 批量插入文档

功能:一次性插入多条文档
语法

db.集合名.insertMany(  [ <文档1>, <文档2>, ... ],  // 【必填】文档数组  {  ordered: <布尔值>,       // 【可选】是否按顺序插入(默认true)  writeConcern: <文档>     // 【可选】写关注  }  
)  

参数说明

参数类型说明
文档数组数组多个文档组成的数组
ordered布尔值true:按序插入(出错停止)
false:乱序插入(出错继续)
(3)save() - 保存文档

功能:根据_id存在与否执行插入或替换
语法

db.集合名.save(  <文档>,                  // 【必填】要保存的文档  {  writeConcern: <文档>  // 【可选】写关注  }  
)  

此方法已过时,建议使用 insertOne() 或 replaceOne() 替代

  • 文档含 _id 且存在 → 执行替换

  • 文档不含 _id 或不存在 → 执行插入

2. 查询文档

(1)find()方法- 查询多条文档

功能:查找所有匹配的文档(返回游标)

db.集合名.find(  <查询条件>,      // 【可选】筛选条件(如 `{age: {$gt: 25}}`)  <字段投影>       // 【可选】控制返回字段  
)  

参数说明

参数类型说明
查询条件JSON文档查询条件(空对象 {} 查所有)
字段投影JSON文档指定返回字段
{字段:1}:包含
{字段:0}:排除

常用操作符

操作符含义示例
$gt大于{age: {$gt: 25}}
$in包含{role: {$in: ["admin","vip"]}}
$regex正则匹配{name: {$regex: "^张"}}
(2)findOne() 方法- 查询单条文档

功能:返回第一条匹配的文档

db.集合名.findOne(  <查询条件>,      // 【可选】筛选条件  <字段投影>       // 【可选】控制返回字段  
)  

特点

  • 直接返回文档对象(非游标)

  • 无匹配时返回 null

3. 删除文档

(1)deleteOne() - 删除单条文档

功能:删除第一条匹配的文档
语法

db.集合名.deleteOne(  <筛选条件>,        // 【必填】删除条件  {  writeConcern: <文档>  // 【可选】写关注  }  
)  返回结果:{ "acknowledged": true, "deletedCount": 1 }  
(2)deleteMany()  - 批量删除文档

功能:删除所有匹配的文档
语法

db.集合名.deleteMany(  <筛选条件>,        // 【必填】删除条件  {  writeConcern: <文档>  // 【可选】写关注  }  
)  
(3)findOneAndDelete() - 查找并删除

功能:删除并返回被删除的文档
语法

db.集合名.findOneAndDelete(  <筛选条件>,  {  projection: <文档>,  // 【可选】返回字段控制  sort: <文档>,        // 【可选】排序条件  writeConcern: <文档>  }  
)  

4. 更新文档

(1)updateOne() - 更新单条文档

功能:更新第一条匹配的文档
语法

db.集合名.updateOne(  <筛选条件>,  <更新操作>,        // 【必填】更新指令  {  upsert: <布尔值>,    // 【可选】无匹配时是否插入(默认false)  writeConcern: <文档>  }  
)  

常用更新操作符

操作符功能示例
$set设置字段值{$set: {status: "活跃"}}
$inc字段值增减{$inc: {库存: -1}}
$push数组添加元素{$push: {tags: "VIP"}}
(2)updateMany() - 批量更新文档

功能:更新所有匹配的文档
语法

db.集合名.updateMany(  <筛选条件>,  <更新操作>,  {  upsert: <布尔值>,  writeConcern: <文档>  }  
)  
(3)replaceOne() - 替换整篇文档

功能:完全替换匹配的文档(覆盖所有字段)
语法

db.集合名.replaceOne(  <筛选条件>,  <新文档>,          // 【必填】完整新文档  {  upsert: <布尔值>,  writeConcern: <文档>  }  
)  
(4)findOneAndUpdate()  - 查找并更新

功能:更新并返回文档(可选返回更新前/后状态)
语法

db.集合名.findOneAndUpdate(  <筛选条件>,  <更新操作>,  {  projection: <文档>,     // 【可选】返回字段控制  sort: <文档>,           // 【可选】排序条件  upsert: <布尔值>,  returnDocument: "before"或"after",  // 【可选】返回更新前/后文档  writeConcern: <文档>  }  
)  

七、MongoDB 备份与恢复

1. 安装备份与恢复命令

#mongodb数据备份
备份:mongodump
恢复:mongorestore

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

2. MongoDB 数据备份

命令语法:

>mongodump -h dbhost -d dbname -o dbdirectory

解释: 

-h : MongoDB 所在服务器地址

-d : 需要备份的数据库实例

-o : 备份的数据库存放位置,需要提前建立

3. MongoDB 数据恢复

命令语法:

>mongorestore -h <hostname><:port> -d dbname <path>

解释: 

  • --host <:port>, -h <:port>: MongoDB 所在服务器地址,默认为:localhost:27017
  • --db , -d :需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如 test2
  • --drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!
  • <path>: mongorestore 最后的一个参数,设置备份数据所在位置,例如:c:\data\dump\test。你不能同时指定<path> 和 --dir 选项,--dir 也可以设置备份目录。
  • --dir: 指定备份的目录,你不能同时指定<path> 和 --dir 选项。

八、MongoDB 用户管理

1. 连接数据库

mongosh

2. 切换到目标数据库

use test

3. 创建用户

db.createUser 命令创建用户并分配角色

例:db.createUser({

        user: "testuser",

        pwd:"password123"

        roles: [

        { role:"readWrite",db: "<database_name>"},

        { role:"dbAdmin", db: "<database_name>"}

] })

4. 验证用户

db.auth 命令验证用户

例:db.auth("testuser","password123")

5. 启用身份验证

配置文件(mongod.conf),添加下面内容

security:

        authorization: "enabled"

重启MongoDB

或者

在启动命令中添加认证参数

mongod --auth --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork

6. 使用用户身份登录

mongosh --host <hostname> --port <port> -u "testuser" -p "password123" --authenticationDatabase "<database_name>"

7. 删除用户

db.dropUser("")

http://www.fp688.cn/news/162405.html

相关文章:

  • 哪个网站可以做编程题人工智能培训班
  • 自己弄个网站要怎么弄站内seo和站外seo区别
  • 网站设计怎么做好网络推广文案有哪些
  • 网络推广及网站建设合作协议今日新闻热点
  • 景安 怎么把网站做别名seo是什么工作内容
  • 有免费建站的网站网络营销与传统营销的整合
  • 做的网站电脑上跟手机上不一样b2b十大平台排名
  • 惠州地区网站建设公司百度公司招聘岗位
  • 怎样安装微信小程序seo是什么姓氏
  • 网站绿标怎么做b站视频未能成功转码
  • 网站建设需要哪些知识深圳百度seo代理
  • 网站建设的后台登录搜索引擎优化排名培训
  • 沈阳专业网站制作公司如何写软文赚钱
  • asp.net jsp 网站腾讯nba新闻
  • 网站建设案例展示百度网盘客服在线咨询
  • 摄影网站上的照片做后期嘛网站设计优化
  • 网站上传百度多久收录流量平台
  • 开发工具里没有控件怎么办360优化大师官方下载手机
  • 手机网站优点域名注册优惠
  • 怎么向百度提交网站地图搜索引擎营销的方法有哪些
  • 可以做空股票的网站品牌营销策划与管理
  • 江阴网络推广公司佛山seo网站排名
  • 哪些网站是用c语言做的网址大全2345
  • 网站建设费算办公费吗网络营销策略有哪些
  • 如何从客户网站开发客户百度如何免费推广
  • 卫龙的网站做的污污分搜索引擎优化策略有哪些
  • 苏州网站建设制作方案以营销推广为主题的方案
  • 网站建设合同中英文高端定制网站建设
  • 网站 宣传方案绍兴网站快速排名优化
  • 家谱网站的首页怎么做合肥seo排名优化