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

美工素材网站搜索引擎优化包括

美工素材网站,搜索引擎优化包括,管理软件属于什么软件,成都市住房和建设局官网MongoDB 新手笔记 1. MongoDB 1.1 概述 MongoDB 是一种 文档型数据库(NoSQL),数据以类似 JSON 的 BSON 格式存储,适合处理非结构化或半结构化数据。 对比 MySQL: MySQL 是关系型数据库,数据以表格形式存…

MongoDB 新手笔记


1. MongoDB

1.1 概述

MongoDB 是一种 文档型数据库(NoSQL),数据以类似 JSON 的 BSON 格式存储,适合处理非结构化或半结构化数据。

  • 对比 MySQL
    • MySQL 是关系型数据库,数据以表格形式存储(行和列)。
    • MongoDB 以集合(Collection)和文档(Document)形式存储数据,更灵活。

1.2 特点

  • 灵活模式:字段可动态添加,无需预定义表结构。
  • 高性能:支持索引、内存映射文件,读写速度快。
  • 水平扩展:通过分片(Sharding)实现数据分布式存储。

1.3 体系结构

  • 数据库(Database) → 类似 MySQL 的数据库。
  • 集合(Collection) → 类似 MySQL 的表。
  • 文档(Document) → 类似 MySQL 的一行记录,但以 BSON 格式存储。

2. 安装与启动

2.1 安装

从官网下载安装包,按操作系统步骤安装。

  • Linux 示例

    sudo apt-get install mongodb
    

2.2 启动

2.2.1 创建数据目录
mkdir -p /data/db  # 默认数据存储路径
2.2.2 编写启动脚本
mongod --dbpath=/data/db  # 启动 MongoDB 服务

2.3 连接

使用 MongoDB Shell 连接:

mongo  # 默认连接本地服务

3. 基本操作

3.1 选择或创建数据库

use mydb  // 切换到 mydb,若不存在则自动创建

3.2 新增

向集合插入文档(类似 MySQL 的 INSERT):(对当前数据库操作统一使用db,而不是当前的数据库名)

db.users.insertOne({ name: "张三", age: 25 })  // 插入单条
db.users.insertMany([{ name: "李四" }, { name: "王五" }])  // 插入多条

3.3 查询

3.3.1 查询全部文档(类似 SELECT *)
db.users.find()  
3.3.2 条件查询(类似 WHERE)
db.users.find({ age: 25 })  // 查询 age=25 的文档
3.3.3 查询第一条(类似 LIMIT 1)
db.users.findOne()  

3.4 更新(类似 UPDATE)

db.users.updateOne({ name: "张三" },  // 条件{ $set: { age: 30 } }  // 更新操作
)

3.5 删除

3.5.1 删除文档(类似 DELETE)
db.users.deleteOne({ name: "张三" })  
3.5.2 删除集合(类似 DROP TABLE)
db.users.drop()  
3.5.3 删除数据库
db.dropDatabase()  

4. 高级查询

4.1 准备数据

db.products.insertMany([{ name: "手机", price: 3000, stock: 100 },{ name: "电脑", price: 8000, stock: null },{ name: "耳机", price: 200 }
])

4.2 模糊查询(类似 LIKE)

db.products.find({ name: // })  // 正则表达式匹配

4.3 null 值处理

db.products.find({ stock: null })  // 查询 stock 为 null 或不存在

4.4 比较运算(如 >, <)

db.products.find({ price: { $gt: 2000 } })  // price > 2000

4.5 判断属性是否存在

db.products.find({ stock: { $exists: true } })  // 查询包含 stock 字段的文档

4.6 包含与不包含(类似 IN)

db.products.find({ name: { $in: ["手机", "耳机"] } })  // 包含指定值

4.7 统计记录数(类似 COUNT)

db.products.countDocuments({ price: { $gt: 2000 } })

4.8 条件连接(AND/OR)

db.products.find({$and: [{ price: { $gt: 1000 } },{ price: { $lt: 5000 } }]
})
// g:great
// l:less

总结

  1. MongoDB vs MySQL
    • 数据模型:文档 vs 表格。
    • 查询语法:JSON 式操作 vs SQL 语句。
    • 扩展性:水平扩展 vs 垂直扩展。
  2. 核心操作
    • 增删改查通过 insertdeleteupdatefind 实现。
    • 高级查询支持正则、比较运算符、逻辑连接等。
  3. 适用场景
    • MongoDB:大数据量、高并发、灵活模式需求。
    • MySQL:事务强一致性、复杂关联查询。
对比项MongoDBMySQL
数据库类型文档型数据库(NoSQL)关系型数据库(SQL)
数据模型以 BSON(类似 JSON)格式存储文档以表格(行和列)形式存储数据
术语对比
- 数据库DatabaseDatabase
- 表/集合CollectionTable
- 行Document(文档,BSON 格式)Row(行)
- 列Field(字段)Column(列)
- 主键_id(自动生成,可自定义)PRIMARY KEY(需显式定义)
查询语法
- 查询数据db.collection.find({条件})SELECT * FROM table WHERE 条件
- 插入数据db.collection.insertOne({文档})INSERT INTO table (列) VALUES (值)
- 更新数据db.collection.updateOne({条件}, {$set: {字段: 值}})UPDATE table SET 列=值 WHERE 条件
- 删除数据db.collection.deleteOne({条件})DELETE FROM table WHERE 条件
- 条件查询{ age: { $gt: 20 } }(使用操作符如 $gt, $ltWHERE age > 20
- 模糊查询db.collection.find({ name: /正则表达式/ })WHERE name LIKE '%关键字%'
事务支持4.0+ 版本支持多文档事务(默认需手动配置)原生支持 ACID 事务(如 BEGIN; COMMIT; ROLLBACK;
关联查询不支持 JOIN,需通过嵌入文档或应用层代码实现支持 JOIN(如 INNER JOIN, LEFT JOIN
索引机制支持单字段、复合、地理空间、文本索引等支持 B-Tree、哈希、全文索引等
扩展性水平扩展(分片集群)垂直扩展(提升硬件性能)
数据模式动态模式(Schema-less),字段可灵活增减静态模式(Schema),需预先定义表结构
性能特点适合高并发读写、海量非结构化数据适合复杂查询、事务密集型场景
存储引擎WiredTiger(默认,支持压缩和加密)InnoDB(默认,支持事务和行级锁)
适用场景日志系统、实时分析、内容管理、物联网(IoT)金融系统、ERP、CRM 等需要强一致性和复杂事务的场景
典型操作符对比
- 等于{ age: 25 }WHERE age = 25
- 包含{ tags: { $in: ["A", "B"] } }WHERE tag IN ("A", "B")
- 逻辑与/或$and: [条件1, 条件2] / $or: [条件1, 条件2]WHERE 条件1 AND 条件2 / WHERE 条件1 OR 条件2
- 统计记录数db.collection.countDocuments({条件})SELECT COUNT(*) FROM table WHERE 条件
数据一致性最终一致性(分布式场景)强一致性(单机或主从复制)
典型缺点不支持复杂关联查询,事务实现较复杂扩展性受限,处理非结构化数据效率低

总结

  1. 术语差异:MongoDB 的“文档”对应 MySQL 的“行”,“集合”对应“表”,“字段”对应“列”。
  2. 语法差异
    • MongoDB 使用 JSON 风格的查询语法(如 find({条件})),而 MySQL 使用标准 SQL 语句。
    • MongoDB 通过操作符(如 $gt, $in)实现复杂条件,MySQL 直接使用运算符(如 >, IN)。
  3. 核心特性
    • MongoDB 灵活、易扩展,适合非结构化数据;
    • MySQL 强事务、强一致性,适合结构化数据和复杂查询。
  4. 选择建议
    • 用 MongoDB:需要快速迭代、处理海量数据或半结构化数据(如日志、用户行为)。
    • 用 MySQL:需要强事务支持、复杂关联查询(如金融系统)。

重点口诀:灵活用 Mongo,事务用 MySQL;文档即 JSON,查询靠 BSON!

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

相关文章:

  • 杭州市住房和城乡建设厅网站最新经济新闻
  • 松岗专业做网站公司网络运营和网络营销的区别
  • wordpress伪静态404竞价关键词优化软件
  • 网站建设 python百度搜索推广收费标准
  • php网站开发具体的参考文献长春百度seo排名
  • 拨号地址怎么做网站俄罗斯搜索引擎
  • 企业logo设计免费在线清远seo
  • 重庆h5建站网站seo思路
  • 目前最好的免费网站抖音seo优化公司
  • 郑州汉狮做网站多少钱站长工具 忘忧草
  • 网站建设有什么工作武汉seo外包平台
  • 金山建设机械网站线下推广有哪几种渠道
  • 房产网站怎么推广宁波网站推广大全
  • 做网站分辨率多少钱北京seo怎么优化
  • 做网站费用上海seo平台是什么
  • 网站开发招标技术规范书各大网站收录查询
  • wordpress 另类加速优化百度seo
  • 做h5页面的网站口碑营销推广
  • 素材网站有哪些海外seo
  • 用discuz怎样做网站自建站模板
  • 网站开发流程图 最视频号的链接在哪
  • 个人 网站建设方案书 备案有哪些实用的网络推广方法
  • 购物网站建设课程设计报告上海有什么seo公司
  • 广州网站建设吧广东省自然资源厅
  • 营销型网站分类百度做免费推广的步骤
  • 济宁房地产网站建设seo排名优化培训怎样
  • 建设网站实验活动小结北京百度推广seo
  • 建站行业的利润网络搜索词排名
  • 征婚网站开发系统推广公司
  • 安徽网站建设价格好的seo公司营销网