中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

php網(wǎng)站模板源碼長(zhǎng)沙seo優(yōu)化推廣

php網(wǎng)站模板源碼,長(zhǎng)沙seo優(yōu)化推廣,拼多多app官方下載,自己做的網(wǎng)站為何手機(jī)不能瀏覽🏝? 博主介紹 大家好,我是一個(gè)搬磚的農(nóng)民工,很高興認(rèn)識(shí)大家 😊 ~ 👨?🎓 個(gè)人介紹:本人是一名后端Java開(kāi)發(fā)工程師,坐標(biāo)北京 ~ 🎉 感謝關(guān)注 📖 一起學(xué)習(xí) &…

🏝? 博主介紹

大家好,我是一個(gè)搬磚的農(nóng)民工,很高興認(rèn)識(shí)大家 😊 ~
👨?🎓 個(gè)人介紹本人是一名后端Java開(kāi)發(fā)工程師,坐標(biāo)北京 ~
🎉 感謝關(guān)注 📖 一起學(xué)習(xí) 📝 一起討論 🌈 一起進(jìn)步 ~
🙏 作者水平有限,歡迎各位大佬指正留言,相互學(xué)習(xí)進(jìn)步 ~

目錄

  • 🏝? 博主介紹
  • 1. 概述 🚀
  • 2. 數(shù)據(jù)模型與存儲(chǔ) 🚀
  • 3. MongoDB 常用命令 🚀
  • 4. MongoDB 索引 🚀
  • 5. MongoDB的使用場(chǎng)景 🚀
  • 6. SpringBoot 集成 MongoDB 🚀

🌱 在數(shù)據(jù)庫(kù)的世界里,MongoDB和MySQL是兩種非常流行且功能強(qiáng)大的數(shù)據(jù)庫(kù)系統(tǒng),但它們各自的設(shè)計(jì)哲學(xué)、應(yīng)用場(chǎng)景以及數(shù)據(jù)模型存在顯著差異。對(duì)于數(shù)據(jù)庫(kù)初學(xué)者來(lái)說(shuō),了解這些差異有助于更好地選擇適合自己的工具,并深入理解數(shù)據(jù)庫(kù)的基本原理。本文將帶領(lǐng)你踏入MongoDB的世界,并通過(guò)與MySQL的對(duì)比,幫助你快速上手MongoDB。🍂

1. 概述 🚀

  • ? MongoDB :MongoDB是一個(gè)基于分布式文件存儲(chǔ)的開(kāi)源NoSQL數(shù)據(jù)庫(kù)系統(tǒng),由C++編寫(xiě)而成。與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)不同,MongoDB采用了面向文檔的存儲(chǔ)方式,支持“無(wú)模式”的數(shù)據(jù)建模,能夠存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類(lèi)型。這使得MongoDB在處理半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)時(shí),表現(xiàn)得尤為出色,如日志、社交媒體數(shù)據(jù)等。MongoDB屬于NoSQL(Not Only SQL)數(shù)據(jù)庫(kù)的一種。它采用鍵值存儲(chǔ)的方式來(lái)存儲(chǔ)數(shù)據(jù),是一種類(lèi)似于JSON 的 格式叫BSON(Binary JSON),雖然我們平時(shí)看到的文檔都是JSON格式呈現(xiàn),但在內(nèi)部是以BSON格式存儲(chǔ)的。MongoDB特別適合處理大規(guī)模數(shù)據(jù)集、高并發(fā)讀寫(xiě)、以及需要靈活數(shù)據(jù)模型的應(yīng)用場(chǎng)景。
  • ? MySQL:MySQL是一個(gè)流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),使用標(biāo)準(zhǔn)的SQL語(yǔ)言來(lái)管理數(shù)據(jù)。它遵循ACID(原子性、一致性、隔離性、持久性)原則,適合需要事務(wù)處理、強(qiáng)一致性保證和復(fù)雜查詢的應(yīng)用場(chǎng)景。

2. 數(shù)據(jù)模型與存儲(chǔ) 🚀

在這里插入圖片描述

? MongoDB的數(shù)據(jù)模型:

  • ? 數(shù)據(jù)庫(kù)(Database):包含多個(gè)集合,類(lèi)似于關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)。
  • ? 集合(Collection):集合是文檔的集合,相當(dāng)于關(guān)系型數(shù)據(jù)庫(kù)中的表,但不需要定義結(jié)構(gòu)。
  • ? 文檔(Document):MongoDB的基本單位是文檔,文檔是JSON格式的鍵值對(duì)集合,其內(nèi)部格式為BSON。一個(gè)文檔可以嵌套其他文檔或數(shù)組,非常靈活。

? MySQL的數(shù)據(jù)模型:

  • ? 數(shù)據(jù)庫(kù)(Database):數(shù)據(jù)庫(kù)是表的容器,提供了命名空間、訪問(wèn)控制和數(shù)據(jù)完整性的機(jī)制
  • ? 表(Table):由行和列組成的二維數(shù)據(jù)結(jié)構(gòu),每列都有固定的數(shù)據(jù)類(lèi)型和約束。
  • ? 行(Row):表中的一條記錄。
  • ? 列(Column):表中的字段,定義了數(shù)據(jù)的類(lèi)型和屬性。

3. MongoDB 常用命令 🚀

  • ? 啟動(dòng)MongoDB:首先進(jìn)入MongoDB目錄下創(chuàng)建data/db文件夾,然后進(jìn)入bin目錄下面,執(zhí)行 mongod --dbpath=../data/db
  • ? 連接MongoDB:進(jìn)入MongoDB的bin目錄下執(zhí)行 mongo --host=localhost --port=27017
  • ? 創(chuàng)建數(shù)據(jù)庫(kù)use 數(shù)據(jù)庫(kù)

示例:use mydb。如果mydb不存在則創(chuàng)建它,存在則進(jìn)入該數(shù)據(jù)庫(kù)

  • ? 刪除數(shù)據(jù)庫(kù)db.dropDatabase()
  • ? 查看當(dāng)前數(shù)據(jù)庫(kù)db
  • ? 查看所有數(shù)據(jù)庫(kù)show dbs
  • ? 創(chuàng)建集合db.createCollection("集合")

示例:db.createCollection(“mycollection”)

  • ? 刪除集合db.集合.drop()

示例:db.mycollection.drop()

  • ? 插入文檔(單個(gè))db.集合.insert(json數(shù)據(jù))

示例:db.collection_08.insert({“name”:“小張”,“age”:18})

  • ? 插入文檔(多個(gè))db集合.insertMany([json數(shù)據(jù)]) || db集合.insert([json數(shù)據(jù)])

示例: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({"字段名": /值/})

正則表達(dá)式匹配(以某個(gè)值開(kāi)頭/結(jié)尾)db.集合名.find({"字段名": /^值/})db.集合名.find({"字段名": /值$/})

  • ? 刪除所有文檔db.集合名.remove({})
  • ? 刪除匹配條件的文檔db.集合名.remove({"鍵名": "值"})
  • ? 更新匹配到的第一條文檔db.集合名.updateOne({查詢條件}, {$set: {更新內(nèi)容}})
  • ? 更新匹配到的所有文檔db.集合名.updateMany({查詢條件}, {$set: {更新內(nèi)容}})
  • ? 統(tǒng)計(jì)db.集合名.count() || db.集合名.count({查詢條件})
  • ? 排序db.集合名.find().sort({"鍵名": 1})(1為升序,-1為降序)
  • ? 分頁(yè)db.集合名.find().skip(N).limit(M)(跳過(guò)N條數(shù)據(jù),限制返回M條數(shù)據(jù))

4. MongoDB 索引 🚀

  • ? 創(chuàng)建單一索引db.collection.createIndex({ fieldName: 1 })

collection 表示集合名稱(chēng),fieldName 是你想要索引的字段名,1 表示升序索引(-1 表示降序索引)。

  • ? 創(chuàng)建復(fù)合索引db.collection.createIndex({ fieldName1: 1, fieldName2: -1 })

復(fù)合索引可以基于多個(gè)字段的順序來(lái)優(yōu)化查詢。

  • ? 查看索引db.collection.getIndexes()
  • ? 刪除索引db.collection.dropIndex({ fieldName: 1 }) || db.collection.dropIndex(索引名稱(chēng))
  • ? 刪除所有索引(除了 _id 索引)db.collection.dropIndexes()
  • ? 索引評(píng)估db.collection.find({ fieldName: "value" }).explain() 查詢語(yǔ)句后面加 explain()

下面兩張圖片,第一張是沒(méi)有使用到索引,第二張是使用到了索引。
在這里插入圖片描述
在這里插入圖片描述

5. MongoDB的使用場(chǎng)景 🚀

  1. 大數(shù)據(jù)存儲(chǔ)和處理:MongoDB適用于存儲(chǔ)和處理大量的非結(jié)構(gòu)化數(shù)據(jù),如日志數(shù)據(jù)、社交媒體數(shù)據(jù)、傳感器數(shù)據(jù)等。由于其靈活的文檔模型,MongoDB能夠輕松地處理這些復(fù)雜且多變的數(shù)據(jù)結(jié)構(gòu)。
  2. 實(shí)時(shí)分析和報(bào)表:MongoDB的數(shù)據(jù)模型和查詢語(yǔ)言(MongoDB Query Language,
    MQL)支持復(fù)雜的聚合操作和數(shù)據(jù)分析,適合進(jìn)行實(shí)時(shí)數(shù)據(jù)分析和報(bào)表生成。
  3. 高并發(fā)讀寫(xiě):MongoDB的異步非阻塞I/O模型和高性能的內(nèi)存映射文件技術(shù),使其能夠應(yīng)對(duì)高并發(fā)的讀寫(xiě)請(qǐng)求,適用于需要處理大量用戶訪問(wèn)和數(shù)據(jù)更新的應(yīng)用場(chǎng)景。
  4. 內(nèi)容管理系統(tǒng)(CMS):MongoDB可以用作內(nèi)容管理系統(tǒng)的后端數(shù)據(jù)庫(kù),存儲(chǔ)和管理大量的文章、圖片、視頻等內(nèi)容。
  5. 社交網(wǎng)絡(luò)應(yīng)用:MongoDB的靈活數(shù)據(jù)模型和高性能讀寫(xiě)能力使其成為社交網(wǎng)絡(luò)應(yīng)用的理想選擇,能夠存儲(chǔ)用戶信息、社交關(guān)系、消息等數(shù)據(jù)。
  6. 物聯(lián)網(wǎng)(IoT)應(yīng)用:MongoDB可以存儲(chǔ)和處理大規(guī)模的物聯(lián)網(wǎng)設(shè)備生成的數(shù)據(jù),如傳感器數(shù)據(jù)、設(shè)備狀態(tài)等,為物聯(lián)網(wǎng)應(yīng)用提供強(qiáng)大的數(shù)據(jù)支持。

6. SpringBoot 集成 MongoDB 🚀

? 源碼地址:SpringBoot 集成 MongoDB

  1. 引入Maven依賴
    <!--父依賴,dependency可以不加依賴版本--><parent><artifactId>spring-boot-starter-parent</artifactId><groupId>org.springframework.boot</groupId><version>2.2.4.RELEASE</version></parent><dependencies><!-- mongodb --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency><!-- spring-boot --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 單元測(cè)試 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies>
  1. 添加yaml配置文件
server:port: 8082spring:data:mongodb:host: localhostdatabase: test_02port: 27017# 也可以直接使用uri連接
#      uri: mongodb://localhost:27017/test_02
  1. 創(chuàng)建實(shí)體類(lèi)
@Data
@Document(collection = "comment")
public class CommentEntity {@Idprivate String id;// 點(diǎn)贊數(shù)@Field("likeNum")private Integer likeNum;// 內(nèi)容private String comment;// 父Idprivate String parentId;
}
  1. 創(chuàng)建Dao
public interface CommentRepository extends MongoRepository<CommentEntity, String> {/*** 根據(jù)parentId獲取數(shù)據(jù)* @param parentId* @return*/List<CommentEntity> findByParentId(String parentId);}
  1. 創(chuàng)建Test進(jìn)行測(cè)試
@RunWith(SpringRunner.class)
// 如果不放在swp.basis.service目錄下,必須指定BasisApplication啟動(dòng)類(lèi)
@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.risenshineclean.com/news/7007.html

相關(guān)文章:

  • 濟(jì)南做網(wǎng)站設(shè)計(jì)推廣運(yùn)營(yíng)怎么做
  • 支付網(wǎng)站設(shè)計(jì)石家莊疫情
  • 青島做網(wǎng)站哪家專(zhuān)業(yè)小紅書(shū)代運(yùn)營(yíng)
  • 做新聞門(mén)戶網(wǎng)站需要什么網(wǎng)頁(yè)優(yōu)化seo廣州
  • 網(wǎng)站備案做網(wǎng)站要轉(zhuǎn)移嗎廣州推廣系統(tǒng)
  • 怎樣做企業(yè)手機(jī)網(wǎng)站建設(shè)怎么做宣傳推廣
  • 六安信息網(wǎng)初學(xué)seo網(wǎng)站推廣需要怎么做
  • 襄陽(yáng)網(wǎng)站建設(shè)兼職怎么推廣自己的網(wǎng)站?
  • 公司宣傳冊(cè)設(shè)計(jì)樣本免費(fèi)下載江蘇搜索引擎優(yōu)化公司
  • 聊城網(wǎng)站建設(shè)哪家專(zhuān)業(yè)鄭州百度推廣公司電話
  • 做企業(yè)網(wǎng)站服務(wù)合肥網(wǎng)站優(yōu)化軟件
  • 做網(wǎng)站前端多少錢(qián)seo是什么東西
  • 企業(yè)網(wǎng)站建設(shè)的現(xiàn)狀惠東seo公司
  • 株洲網(wǎng)站開(kāi)發(fā)2023年8月疫情又開(kāi)始了嗎
  • 圖片分頁(yè)wordpress主題seo優(yōu)化技術(shù)排名
  • 江蘇省建設(shè)工程地方標(biāo)準(zhǔn)網(wǎng)站2020做seo還有出路嗎
  • 國(guó)內(nèi)b2b免費(fèi)網(wǎng)站平臺(tái)在線收錄
  • 網(wǎng)站開(kāi)發(fā)的實(shí)訓(xùn)報(bào)告百度推廣平臺(tái)登錄網(wǎng)址
  • 注冊(cè)網(wǎng)站應(yīng)注意事項(xiàng)b站24小時(shí)自助下單平臺(tái)網(wǎng)站
  • 百度錄入網(wǎng)站怎樣建立網(wǎng)站平臺(tái)
  • 企業(yè)名稱(chēng)登記管理規(guī)定長(zhǎng)沙弧度seo
  • 十堰網(wǎng)站建設(shè)哪家好推廣營(yíng)銷(xiāo)方案
  • 做網(wǎng)站要做哪些最新?tīng)I(yíng)銷(xiāo)模式
  • 長(zhǎng)治做網(wǎng)站公司運(yùn)營(yíng)推廣seo招聘
  • 做網(wǎng)站和網(wǎng)頁(yè)的目的和作用是什么深圳優(yōu)化公司哪家好
  • 兼積做調(diào)查掙錢(qián)網(wǎng)站免費(fèi)優(yōu)化網(wǎng)站排名
  • 武漢網(wǎng)站建設(shè)十強(qiáng)企業(yè)地推掃碼平臺(tái)
  • 公司建站花費(fèi)香港seo公司
  • 營(yíng)銷(xiāo)型網(wǎng)站建設(shè)測(cè)驗(yàn)題百度平臺(tái)客服電話
  • 企業(yè)網(wǎng)站策劃運(yùn)營(yíng)推廣