我們?cè)趯W(xué)習(xí)前端的時(shí)候有很多種情況下需要我們使用活數(shù)據(jù)來(lái)編寫demo進(jìn)行練習(xí)。

? ? 什么是活數(shù)據(jù)?就是可能會(huì)隨時(shí)發(fā)生改變的數(shù)據(jù),而不是我們?cè)谄綍r(shí)練習(xí)的過(guò)程中寫死的數(shù)據(jù),我們前端工作者拿到的數(shù)據(jù)一般都是由后端工作人員從數(shù)據(jù)庫(kù)中調(diào)取并傳遞給我們,而數(shù)據(jù)庫(kù)一般不會(huì)讓我們前端進(jìn)行操作,但是我們?cè)趯W(xué)習(xí)的過(guò)程中需要使用數(shù)據(jù)庫(kù)的數(shù)據(jù),這個(gè)時(shí)候我們?cè)撛趺崔k呢?
一般情況下我們回去偽造一些數(shù)據(jù)在練習(xí)中去使用,例如本地的json文件、jsonserver、php等等,可我們?nèi)绻皇鞘褂脗卧斓臄?shù)據(jù)的話,在后期的學(xué)習(xí)中就無(wú)法更加清晰的了解什么是數(shù)據(jù),數(shù)據(jù)的格式等等等等一系列的問(wèn)題,在這里我給大家介紹一下mongodb這一個(gè)文檔型數(shù)據(jù)庫(kù)的基本使用方法。
首先在mongodb的官網(wǎng)上下載mongodb的安裝包?大小200m左右
????下載地址為:mongodb下載地址
? ? 有的同學(xué)打開網(wǎng)址會(huì)有些慢,這里給大家一個(gè)百度云鏈接:
????????鏈接:https://pan.baidu.com/s/14TjxwiHZC46pSd7LHHVidA 提取碼:1h8a
我們下載完成之后就可以進(jìn)行安裝了,安裝路徑的話可以進(jìn)行更改,也可以默認(rèn)安裝
最后一步安裝的時(shí)候取消勾選Install MongoDB Compass這是個(gè)圖形界面管理工具

安裝完成后 我們需要自己建一個(gè)數(shù)據(jù)保存的文件夾 文件夾名為db
至于db文件夾的位置我是隨意建立的 目前沒(méi)有發(fā)現(xiàn)任何問(wèn)題
然后我們打開cmd執(zhí)行mongod --dbpath db文件夾路徑
如果不想麻煩的小伙伴可以直接先執(zhí)行一次mongod

安裝紅框的路徑去建立對(duì)應(yīng)的文件夾這里我的是G盤
然后我按照指示路徑建立文件夾

再在cmd中執(zhí)行mongod
此時(shí)我們發(fā)現(xiàn)左下角的會(huì)有輸入光標(biāo)閃爍 就代表 mongodb數(shù)據(jù)庫(kù)啟動(dòng)成功
我們?cè)傩麻_啟一個(gè)cmd命令窗口執(zhí)行mongo
我們已經(jīng)進(jìn)入mongodb的操作界面了??!

下面是我個(gè)人總結(jié)的一些比較常用的數(shù)據(jù)操作命令
關(guān)于數(shù)據(jù)庫(kù)
????show dbs? 顯示所有的數(shù)據(jù)庫(kù)
????db??????? ?當(dāng)前選中的數(shù)據(jù)庫(kù)
????use? dbName? 新建(切換)一個(gè)新(已有)數(shù)據(jù)庫(kù)如果數(shù)據(jù)庫(kù)里沒(méi)有東西則這個(gè)數(shù)據(jù)庫(kù)是個(gè)臨時(shí)的數(shù)據(jù)庫(kù)
????db.dropDatabase() 需要先選中想要?jiǎng)h除的數(shù)據(jù)庫(kù)再執(zhí)行此命令刪除數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)中的集合
????db.createCollection('集合名字')??在數(shù)據(jù)庫(kù)里創(chuàng)建一個(gè)集合
????show collections??顯示該庫(kù)下所有的集合
????db.集合名.drop()? 刪除指定集合?(反饋解說(shuō))
????db.集合名.insert(data)? 在指定集合中增加數(shù)據(jù)(數(shù)據(jù)格式為對(duì)象格式)
????db.集合名.insert(data)(如果data數(shù)據(jù)有主鍵id屬性“_id”則會(huì)使用自定義主鍵“不推薦使用”)
文檔(集合內(nèi)容)
????查詢操作
? ????????db.集合名.find()?查詢所有的數(shù)據(jù)
????????? db.集合名.find().pretty()? 查詢數(shù)據(jù)并格式化顯示
????添加操作
? ????????db.集合名.insert(要添加的數(shù)據(jù)對(duì)象) 添加? 默認(rèn)主鍵是“_id”不能重復(fù)的
? ????????db.集合名.save({要添加的數(shù)據(jù)對(duì)象})? 只有主鍵_id是不存在的時(shí)候? save相當(dāng)于插入
????修改操作
????????? db.集合名.update({根據(jù)條件找到要修改的對(duì)象},{$set:{修改完成的結(jié)果}(不加$set則會(huì)完全覆蓋原數(shù)據(jù))},{multi:true(更新一個(gè)或多個(gè))}) 參數(shù)3控制修改全部還是一條“默認(rèn)為第一條”
????????? db.集合名.save({要修改的數(shù)據(jù)}) 修改數(shù)據(jù)里的主鍵_id 如果已經(jīng)存在表示修改(覆蓋式修改)
????刪除操作
????????? db.集合名.remove({要?jiǎng)h除數(shù)據(jù)的查詢條件})?當(dāng)不寫入查詢條件時(shí)也就是當(dāng)查詢條件為{}時(shí)(執(zhí)行全部刪除操作)
精準(zhǔn)增刪改查(條件查詢)
? 1.固值查詢
固定字段查詢值?例:db.集合名.find({精準(zhǔn)數(shù)據(jù)限制條件”返回多個(gè)”})
? 2.范值查詢某一個(gè)查詢范圍? 數(shù)值查詢“僅針對(duì)數(shù)值類型”
$gt“大于” $gte“大于等于” $lt“小于” $lte“小于等于” $ne“不等于”
??? 例:db.user.find({age:{$gt:10}})?? 所有滿足age>15的數(shù)據(jù)
? 3.交集查詢$and
???? ?db.user.find({$and:[條件1 條件2 ...] }) 而且
????? 例:db.user.find($and:[{age:{$gt:15}},{age:{$lt:20}}])所有age大于15且小于20的數(shù)據(jù)
? 4.并集查詢or
???? ?db.user.find({$or:[{},{}]})或者
????? 例:db.user.find($or:[{age:{$gt:15}},{age:{$lt:20}}])所有age大于15或小于20的數(shù)據(jù)
數(shù)據(jù)的排序
?db.user.find().sort({值為number類型的鍵名:(-1從大到?。?從小到大)})
限制條數(shù)
?db.user.find().limit(2)??limit 限制
跳過(guò)
?db.user.find().skip(2)
我們將skip 和limit 結(jié)合使用就是簡(jiǎn)單的分頁(yè)查詢
例如一共5 條數(shù)據(jù)每一頁(yè)顯示2條?
那么第2頁(yè)就是??db.user.find().skip(2).limit(2)
總結(jié)一個(gè)關(guān)于分頁(yè)的思想公式
假設(shè)pageSize為每頁(yè)多少條數(shù)據(jù)? page為當(dāng)前的頁(yè)碼數(shù)
如果pageSize為3
第一頁(yè)也就是page為1? ?db.user.find().skip(0).limit(3)跳過(guò)0條查詢3條
第二頁(yè)也就是page為2? ?db.user.find().skip(3).limit(3)跳過(guò)3條查詢3條
第三頁(yè)也就是page為3? ?db.user.find().skip(6).limit(3)跳過(guò)6條查詢3條
不難發(fā)現(xiàn)查詢第幾頁(yè)就是跳過(guò)前面幾頁(yè)的數(shù)據(jù)并限制查詢每頁(yè)顯示的條數(shù)
? 總結(jié)得出db.user.find().skip((page-1)*pageSize).limit(pageSize)
當(dāng)然作為數(shù)據(jù)庫(kù)肯定有它的可視化工具
這里推薦大家使用Robo 3TRobo 3T下載

安裝完成后點(diǎn)擊左上角的兩臺(tái)小電腦處
彈出下面的框?初次安裝應(yīng)為空白

?然后點(diǎn)擊Create

Name按照個(gè)人愛(ài)好填寫即可 Address就是服務(wù)器的地址 mongodb的默認(rèn)地址為
localhost:27017 或 127.0.0.1:27017

鏈接成功 進(jìn)行愉快的學(xué)習(xí)吧