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

黑龙江建设部网站中国互联网协会成立

黑龙江建设部网站,中国互联网协会成立,wordpress在线查询系统,wordpress主題#x1f3dd;️ 博主介绍 大家好#xff0c;我是一个搬砖的农民工#xff0c;很高兴认识大家 #x1f60a; ~ #x1f468;‍#x1f393; 个人介绍#xff1a;本人是一名后端Java开发工程师#xff0c;坐标北京 ~ #x1f389; 感谢关注 #x1f4d6; 一起学习 ️ 博主介绍 大家好我是一个搬砖的农民工很高兴认识大家 ~ ‍ 个人介绍本人是一名后端Java开发工程师坐标北京 ~ 感谢关注 一起学习 一起讨论 一起进步 ~ 作者水平有限欢迎各位大佬指正留言相互学习进步 ~ 目录 ️ 博主介绍1. 概述 2. 数据模型与存储 3. MongoDB 常用命令 4. MongoDB 索引 5. MongoDB的使用场景 6. SpringBoot 集成 MongoDB 在数据库的世界里MongoDB和MySQL是两种非常流行且功能强大的数据库系统但它们各自的设计哲学、应用场景以及数据模型存在显著差异。对于数据库初学者来说了解这些差异有助于更好地选择适合自己的工具并深入理解数据库的基本原理。本文将带领你踏入MongoDB的世界并通过与MySQL的对比帮助你快速上手MongoDB。 1. 概述 ⭐ MongoDB MongoDB是一个基于分布式文件存储的开源NoSQL数据库系统由C编写而成。与传统的关系型数据库不同MongoDB采用了面向文档的存储方式支持“无模式”的数据建模能够存储比较复杂的数据类型。这使得MongoDB在处理半结构化和非结构化数据时表现得尤为出色如日志、社交媒体数据等。MongoDB属于NoSQLNot Only SQL数据库的一种。它采用键值存储的方式来存储数据是一种类似于JSON 的 格式叫BSONBinary JSON,虽然我们平时看到的文档都是JSON格式呈现但在内部是以BSON格式存储的。MongoDB特别适合处理大规模数据集、高并发读写、以及需要灵活数据模型的应用场景。⭐ MySQLMySQL是一个流行的关系型数据库管理系统RDBMS使用标准的SQL语言来管理数据。它遵循ACID原子性、一致性、隔离性、持久性原则适合需要事务处理、强一致性保证和复杂查询的应用场景。 2. 数据模型与存储 ✨ MongoDB的数据模型 ⭐ 数据库Database包含多个集合类似于关系型数据库中的数据库。⭐ 集合Collection集合是文档的集合相当于关系型数据库中的表但不需要定义结构。⭐ 文档DocumentMongoDB的基本单位是文档文档是JSON格式的键值对集合其内部格式为BSON。一个文档可以嵌套其他文档或数组非常灵活。 ✨ MySQL的数据模型 ⭐ 数据库Database数据库是表的容器提供了命名空间、访问控制和数据完整性的机制⭐ 表Table由行和列组成的二维数据结构每列都有固定的数据类型和约束。⭐ 行Row表中的一条记录。⭐ 列Column表中的字段定义了数据的类型和属性。 3. MongoDB 常用命令 ⭐ 启动MongoDB首先进入MongoDB目录下创建data/db文件夹然后进入bin目录下面执行 mongod --dbpath../data/db⭐ 连接MongoDB进入MongoDB的bin目录下执行 mongo --hostlocalhost --port27017⭐ 创建数据库use 数据库 示例use mydb。如果mydb不存在则创建它存在则进入该数据库 ⭐ 删除数据库db.dropDatabase()⭐ 查看当前数据库db⭐ 查看所有数据库show dbs⭐ 创建集合db.createCollection(集合) 示例db.createCollection(“mycollection”) ⭐ 删除集合db.集合.drop() 示例db.mycollection.drop() ⭐ 插入文档(单个)db.集合.insert(json数据) 示例db.collection_08.insert({“name”:“小张”,“age”:18}) ⭐ 插入文档(多个)db集合.insertMany([json数据]) || db集合.insert([json数据]) 示例db.collection_08.insertMany([{“name”:“小张”,“age”:18},{“name”:“小张”,“age”:18,“hight”:“178cm”}]) ⭐ 查询文档db.集合.find()示例db.collection_08.find()⭐ 查询指定字段db.集合名.find({}, {键名1: 1, 键名2: 0})1表示显示该字段0表示不显示⭐ 条件查询 等于db.集合名.find({键名: 值}) 不等于db.集合名.find({ 键名: { $ne: 值 }}) AND条件db.集合名.find({键名1: 值1, 键名2: 值2}) OR条件db.集合名.find({$or: [{键名1: 值1}, {键名2: 值2}]}) 比较条件大于、小于等db.集合名.find({键名: {$gt: 值}})其中$gt表示大于$lt表示小于$gte表示大于等于$lte表示小于等于 IN条件db.集合名.find({键名: {$in: [值1, 值2]}}) NOT IN条件db.集合名.find({键名: {$nin: [值1, 值2]}}) 模糊匹配包含db.集合名.find({字段名: /值/}) 正则表达式匹配以某个值开头/结尾db.集合名.find({字段名: /^值/}) 或 db.集合名.find({字段名: /值$/}) ⭐ 删除所有文档db.集合名.remove({})⭐ 删除匹配条件的文档db.集合名.remove({键名: 值})⭐ 更新匹配到的第一条文档db.集合名.updateOne({查询条件}, {$set: {更新内容}})⭐ 更新匹配到的所有文档db.集合名.updateMany({查询条件}, {$set: {更新内容}})⭐ 统计db.集合名.count() || db.集合名.count({查询条件})⭐ 排序db.集合名.find().sort({键名: 1})1为升序-1为降序⭐ 分页db.集合名.find().skip(N).limit(M)跳过N条数据限制返回M条数据 4. MongoDB 索引 ⭐ 创建单一索引db.collection.createIndex({ fieldName: 1 }) collection 表示集合名称fieldName 是你想要索引的字段名1 表示升序索引-1 表示降序索引。 ⭐ 创建复合索引db.collection.createIndex({ fieldName1: 1, fieldName2: -1 }) 复合索引可以基于多个字段的顺序来优化查询。 ⭐ 查看索引db.collection.getIndexes()⭐ 删除索引db.collection.dropIndex({ fieldName: 1 }) || db.collection.dropIndex(索引名称)⭐ 删除所有索引除了 _id 索引db.collection.dropIndexes()⭐ 索引评估db.collection.find({ fieldName: value }).explain() 查询语句后面加 explain() 下面两张图片第一张是没有使用到索引第二张是使用到了索引。 5. MongoDB的使用场景 大数据存储和处理MongoDB适用于存储和处理大量的非结构化数据如日志数据、社交媒体数据、传感器数据等。由于其灵活的文档模型MongoDB能够轻松地处理这些复杂且多变的数据结构。实时分析和报表MongoDB的数据模型和查询语言MongoDB Query Language, MQL支持复杂的聚合操作和数据分析适合进行实时数据分析和报表生成。高并发读写MongoDB的异步非阻塞I/O模型和高性能的内存映射文件技术使其能够应对高并发的读写请求适用于需要处理大量用户访问和数据更新的应用场景。内容管理系统CMSMongoDB可以用作内容管理系统的后端数据库存储和管理大量的文章、图片、视频等内容。社交网络应用MongoDB的灵活数据模型和高性能读写能力使其成为社交网络应用的理想选择能够存储用户信息、社交关系、消息等数据。物联网IoT应用MongoDB可以存储和处理大规模的物联网设备生成的数据如传感器数据、设备状态等为物联网应用提供强大的数据支持。 6. SpringBoot 集成 MongoDB ⚡ 源码地址SpringBoot 集成 MongoDB 引入Maven依赖 !--父依赖dependency可以不加依赖版本--parentartifactIdspring-boot-starter-parent/artifactIdgroupIdorg.springframework.boot/groupIdversion2.2.4.RELEASE/version/parentdependencies!-- mongodb --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-mongodb/artifactId/dependency!-- spring-boot --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- 单元测试 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!-- lombok --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency/dependencies添加yaml配置文件 server:port: 8082spring:data:mongodb:host: localhostdatabase: test_02port: 27017# 也可以直接使用uri连接 # uri: mongodb://localhost:27017/test_02创建实体类 Data Document(collection comment) public class CommentEntity {Idprivate String id;// 点赞数Field(likeNum)private Integer likeNum;// 内容private String comment;// 父Idprivate String parentId; } 创建Dao public interface CommentRepository extends MongoRepositoryCommentEntity, String {/*** 根据parentId获取数据* param parentId* return*/ListCommentEntity findByParentId(String parentId);} 创建Test进行测试 RunWith(SpringRunner.class) // 如果不放在swp.basis.service目录下必须指定BasisApplication启动类 SpringBootTest(classes BasisApplication.class) public class CommentServiceTest {Autowiredprivate CommentRepository commentRepository;Testpublic void test(){System.out.println(commentRepository.findAll());System.out.println(commentRepository.findByParentId(66ed29b0bbf12138ee50b657));} }
http://www.hkea.cn/news/14373545/

相关文章:

  • 做博客网站宁波网站建设免费咨询
  • 上海商业连锁设计搜索引擎优化策略
  • 湖南3合1网站建设做网站必备
  • 有没得办法可以查询一个网站有没得做竞价呀重庆网站建设 快速建站
  • 常熟做网站多少钱按成都网络推广培训哪家好
  • 出售源码的网站制作网站需要什么语言
  • 出口网站制作深圳市光明区住房和建设局
  • 全国哪个餐饮品牌的网站做的好静态页面生成系统
  • python3 网站开发门户网站和社交网络的区别
  • 传媒网站建设游戏网页设计作品欣赏
  • 可信赖的做网站适合个人外贸平台
  • 好的 做网站的软件公司电商网站开发难点
  • 福州市工程建设质量管理协会网站桐庐县住房和城乡建设局网站
  • 门户网站建设和检务公开整改荆门刚刚发布的
  • 爬虫网站开发公司在东莞建设网登记要多少钱
  • 成都建设网站那家好适合网站开发工程师的公司
  • 手机影视网站制作免备案建网站
  • 上海网站seo公司企业网站模块
  • 做 爱 网站视频短片三合一网站开发架构
  • 怎么给做的网站做百度搜索wordpress建站 百度网盘
  • 杭州网站建设索q479185700如何建设商城网站
  • 建设一个网站的硬件要求客户管理软件免费
  • 重庆网站建设培训机构学费网建类公司
  • 金华网站制作费用动态手机网站怎么做
  • 怎么在搜狐快站上做网站网站建设的规划方案
  • 网站开发及服务器总共多少钱湛江网站建设团队
  • 设计网页心得体会廊坊seo网络推广
  • 软件开发和网站建设那个好企业网站的建立
  • 佛山狮山网站建设黑龙江省
  • 哪个公司做农村产权交易网站ps制作网页