mongodb數(shù)據(jù)庫(kù)的基本使用方法

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

mongodb

? ? 什么是活數(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盤

然后我按照指示路徑建立文件夾


此時(shí)db文件夾為空

再在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í)吧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、MongoDB簡(jiǎn)介 概述MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),由C++語(yǔ)言編寫。旨在為WEB應(yīng)用提供...
    王梓懿_1fbc閱讀 564評(píng)論 0 3
  • 一、MongoDB簡(jiǎn)介 概述MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),由C++語(yǔ)言編寫。旨在為WEB應(yīng)用提供...
    EndEvent閱讀 1,230評(píng)論 1 4
  • 一、MongoDB簡(jiǎn)介 概述MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),由C++語(yǔ)言編寫。旨在為WEB應(yīng)用提供...
    慕楊_閱讀 642評(píng)論 0 4
  • 一、MongoDB簡(jiǎn)介 概述MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),由C++語(yǔ)言編寫。旨在為WEB應(yīng)用提供...
    fly5閱讀 358評(píng)論 0 0
  • 一、MongoDB簡(jiǎn)介 1.概述 ? MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),由C++語(yǔ)言編寫。旨在為WE...
    鄭元吉閱讀 1,124評(píng)論 0 2

友情鏈接更多精彩內(nèi)容