成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Mongodb數(shù)據(jù)庫的基本操作

muddyway / 780人閱讀

摘要:我們后續(xù)的數(shù)據(jù)庫操作需要再開一個。接下去我們就進入了的語法環(huán)境下,可以輸入命令進行數(shù)據(jù)庫的操作。在上述命令當中,如果數(shù)據(jù)庫與集合名均為不存在的,則一并完成了新建的操作。

mongodb是文檔型數(shù)據(jù)庫,其官網(wǎng)地址為 https://www.mongodb.com/。我們在官網(wǎng)上下載該軟件包,并完成安裝。如我們可以設置安裝路徑為D:MongoDBmongodb。我們在完成安裝之后,可以看到在該目錄的bin文件夾下有如下文件:

接下去我們配置環(huán)境變量,為了能在任意目錄下都能運行bin這個文件夾下的應用程序。我們在環(huán)境變量的用戶變量當中新建一個名為Mongodb的變量,其變量值為D:MongoDBmongodbin。接下去編輯用戶變量當中的PATH變量值,在其值后面加上;%Mongodb%;。最后確定關(guān)閉完成了環(huán)境變量的配置。接下去在cmd當中,鍵入命令-> mongo,顯示如下結(jié)果,則說明安裝和配置成功。

這里我們可以看到可以正確顯示我們安裝的mongodb的版本號,在此顯示連接失敗是因為我們還沒進行數(shù)據(jù)庫開機的操作。

一、Mongodb數(shù)據(jù)庫的開機與連接

由于mongodb為文檔型的數(shù)據(jù)庫,它不同于mysql等數(shù)據(jù)庫,它的數(shù)據(jù)庫真實可見,與我們本機上的物理文件一一對應。故我們需要先建立一個文件夾,作為數(shù)據(jù)庫真實存放的位置。比如我們在D盤根目錄下新建一個名為mongo的文件夾,則該數(shù)據(jù)庫文檔所在文件夾的絕對物理路徑為D:mongo。
接下去我們打開cmd,輸入開機命令-> mongod --dbpath D:mongo。此時可以看到控制臺在最后一行輸出waiting for connections on port 27017,則說明此時數(shù)據(jù)庫完成了開機操作。

此時在我們新建的mongo文件夾下多了如下所示的默認文件:

在開機命令當中--dbpath用于選擇數(shù)據(jù)庫文檔所在的文件夾,是數(shù)據(jù)庫真實存放的位置。在該文件夾下,所有以.ns為后綴名的文件都為數(shù)據(jù)庫,即mongodb中數(shù)據(jù)庫真實可見,有物理文件與數(shù)據(jù)庫一一對應。

在完成數(shù)據(jù)庫的開機操作之后,我們一定要讓這個cmd面板保持上圖所示的狀態(tài),不能關(guān)閉,不能退出程序。一旦該cmd出現(xiàn)問題,我們的數(shù)據(jù)庫就自動關(guān)閉了。我們后續(xù)的數(shù)據(jù)庫操作需要再開一個cmd。
接下去我們再開一個cmd,輸入命令-> mongo 用于連接數(shù)據(jù)庫。當顯示如下所示,則說明數(shù)據(jù)庫連接成功。

接下去我們就進入了mongodb的語法環(huán)境下,可以輸入命令進行數(shù)據(jù)庫的操作。
我們用命令-> show dbs來顯示當前所有的數(shù)據(jù)庫。(現(xiàn)在只有一些系統(tǒng)默認的數(shù)據(jù)庫文件,這些系統(tǒng)自帶的文件,我們不做任何操作)

我們用命令-> use test來表示使用某個數(shù)據(jù)庫,當use一個不存在的數(shù)據(jù)庫則表示新建。之后再用命令-> db來查看當前所在的數(shù)據(jù)庫。我們在完成test數(shù)據(jù)庫的新建之后,用-> show dbs查看現(xiàn)在所有的數(shù)據(jù)庫,仍然看不到我們新建的那個數(shù)據(jù)庫,說明我們想把這個數(shù)據(jù)庫新建成功,則必須往里面插入一條數(shù)據(jù)。

mongodb的某個數(shù)據(jù)庫由很多個集合(collection)組成,集合類似于mysql數(shù)據(jù)庫當中數(shù)據(jù)表的概念,而每一個集合又由很多個文檔(document)構(gòu)成。每一個文檔都是一個json對象,文檔類似于mysql數(shù)據(jù)表當中字段的概念。數(shù)據(jù)庫當中不能直接插入數(shù)據(jù),只能往該數(shù)據(jù)庫的某個指定集合當中插入數(shù)據(jù),集合不需要新建,一旦我們往某個集合當中插入數(shù)據(jù),就相當于新建了這個集合,并且該集合當中也有了對應的數(shù)據(jù)。

我們在cmd當中用命令-> db來確定當前所在的數(shù)據(jù)庫為test,接下去用命令-> db.student.insert()往該集合當中插入一個json對象。這句操作完成了在test數(shù)據(jù)庫中student這個集合的創(chuàng)建與一條文檔數(shù)據(jù)的插入。接下去可用命令-> show collections來列出當前這個數(shù)據(jù)庫當中所有的集合(其中system.indexes為系統(tǒng)默認的集合,不做任何處理)。用命令-> db.student.find()來列出當前這個數(shù)據(jù)庫中student這個集合當中所有的文檔數(shù)據(jù)。如下圖所示:

此時可以看到mongo這個文件夾下多了test.0test.ns這兩個文件。每一條文檔數(shù)據(jù)都為一個json數(shù)據(jù),插入文檔時應該讓其符合嚴格的json語法。數(shù)據(jù)庫當中每一條文檔數(shù)據(jù)都會被分配一個唯一的_id屬性值。

二、MongoVUE的使用

MongoVUEMongodb的一款可視化管理工具。我們在完成安裝之后,手動啟動MongoVUE.exe進入其管理界面。在第一次使用時,在彈出框Connect to Mongo Database當中選擇新建,填寫如下信息:

我們在server當中填寫127.0.0.1,表示連接本地數(shù)據(jù)庫,當輸入指定的IP地址還可用于連接遠程的數(shù)據(jù)庫。而port端口號為默認的27017即可。保存后選擇連接即可。

我們一定要在完成數(shù)據(jù)庫的開機操作之后,才可以使用MongoVUE對該數(shù)據(jù)庫進行連接,否則會顯示連接失敗。

在完成連接之后我們可以看到:

在該面板的左側(cè)邊欄可以看到我們當前所有的數(shù)據(jù)庫,其中adminlocal為系統(tǒng)默認數(shù)據(jù)庫,我們不對其做任何處理。其中test是我們新建的數(shù)據(jù)庫,在其內(nèi)部的Collections的分支下可以看到該數(shù)據(jù)庫下所有的集合,選中student這個集合(不用對其再展開)右鍵選擇View則可以在右側(cè)面板看到有三種視圖可供選擇,可以顯示這個集合當中所有的文檔及數(shù)據(jù)。

我們一般在cmd當中進行數(shù)據(jù)庫的增刪改查的操作,在可視化面板當中查看數(shù)據(jù)庫當中數(shù)據(jù)的存儲情況,即在命令行當中進行控制操作,在可視化工具當中進行驗證。由于可視化工具不能自動刷新,我們在完成操作之后,需要點擊面板左側(cè)的Refresh刷新,然后再選中某個集合右鍵View才可以查看最新的文檔數(shù)據(jù)。

三、Mongodb數(shù)據(jù)庫的增刪改查操作
1、導入數(shù)據(jù)

我們之前操作過往test數(shù)據(jù)庫的student集合當中插入一條文檔數(shù)據(jù),但是用這種方式在控制臺當中完成數(shù)據(jù)導入效率太低。我們一般把一個集合當中的文檔數(shù)據(jù)用json文件的形式在外部編輯器當中編輯完成之后,統(tǒng)一全部導入數(shù)據(jù)庫的某個集合當中。
在進行導入操作時,要再開一個cmd,然后用命令-> mongoimport --db 數(shù)據(jù)庫名 --collection 集合名 --drop --file json文件的絕對物理路徑來進行導入操作。

在上述命令當中,如果數(shù)據(jù)庫與集合名均為不存在的,則一并完成了新建的操作。我們在外部編輯器當中完成json文件的編輯,后綴名為.json的文件必須能嚴格遵守json格式,key值必須能加雙引號,value值若為字符串類型,也必須加雙引號。直接把該文件拖進cmd當中,則自動顯示該json文件的絕對物理地址。--drop表示為在往該集合當中導入數(shù)據(jù)之前先清空這個集合。

2、查詢操作

在完成數(shù)據(jù)的導入之后,我們回到之前連接數(shù)據(jù)庫的那個cmd當中,用命令-> db來查看當前的使用的數(shù)據(jù)庫為test,接下去用命令-> db.student.find()來對當前這個數(shù)據(jù)庫的student集合進行查詢操作。若find方法當中沒有參數(shù)則列出該集合當中所有的文檔對象。

可以在find方法當中傳入一個json對象(這里同樣需要遵循嚴格的json語法)表示查詢條件。如果有多個條件則在該對象當中,用逗號相隔的鍵值對表示查詢條件之間且的關(guān)系。若找到了則輸出對應的文檔,若沒找到則不輸出結(jié)果,也不會報錯。

我們給查詢對象的某個屬性值加上{$gt:}表示大于符號,{$lt:}表示小于符號。如鍵入命令-> db.student.find({"score.Math":{$gt:74}})表示查詢出數(shù)學成績大于74分的文檔對象。

我們在查詢對象當中加上$or:[]表示在該數(shù)組當中的每一個查詢條件之間為或的關(guān)系,每一個查詢條件用一個json對象來表示。如鍵入命令-> db.student.find({$or:[{"age":9},{"score.Math":70}]})表示查詢出年齡為9歲或數(shù)學成績?yōu)?b>70分的文檔對象。

我們可以在調(diào)用find方法查詢之后,調(diào)用sort()方法對查詢結(jié)果進行排序操作。屬性值為1代表為升序排列,屬性值為-1則代表為降序排列。如鍵入命令-> db.student.find().sort({"score.Math":1,"age":-1})表示查詢出該集合當中所有的文檔數(shù)據(jù),先根據(jù)數(shù)學成績升序排列,如果數(shù)學成績一致,則根據(jù)年齡進行逆序排列。(當有多個排序條件時,則按順序確定排序條件的優(yōu)先級)

3、刪除操作

鍵入命令-> db.dropDatabase()即可刪除當前這個數(shù)據(jù)庫。鍵入命令-> db.student.drop()即可刪除當前這個數(shù)據(jù)庫當中student這個集合。使用命令-> db.student.remove()當中傳入一個查詢對象則可以把該集合當中符合該查詢條件的文檔都刪去,如-> db.student.remove({"age":9})則會刪調(diào)年齡為9的所有文檔,如果加上{justOne:true}則只刪第一個匹配上的文檔。如-> db.student.remove({"age":9},{justOne:true})。使用-> db.student.remove({})可以刪除該集合當中的所有文檔,達到清空該集合的目的,此時必須能傳入一個空對象才行。

4、修改(update)操作

我們使用命令->db.student.update()方法進行文檔修改操作。第一個參數(shù)對象表示查詢條件,第二個參數(shù)對象為修改的條件。如鍵入命令->db.student.update({"name":"xiaohong"},{$set:{"age":18}})則把名字為小紅的文檔當中的年齡改為18。當?shù)谝粋€查詢條件匹配上多條文檔時,默認只對第一條文檔數(shù)據(jù)進行修改,如果想要批量修改,則要加上{multi:true},即->db.student.update({"name":"xiaohong"},{$set:{"age":18}},{multi:true})

如果沒有$set這個關(guān)鍵字,則代表替換文檔。如->db.student.update({"name":"xiaohong"},{"age":18}),則表示把名字為小紅這個文檔全部替換為{"age":18}。

5、獲取集合當中文檔對象的總數(shù)

使用命令-> db.student.stats().count或者-> db.student.find().count()均可顯示出當前數(shù)據(jù)庫的student這個集合當中文檔對象的總數(shù)。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/19130.html

相關(guān)文章

  • 聊聊MongoDB - MongoDB簡單安裝

    摘要:安裝全過程環(huán)境基本情況我是在電腦下安裝的系統(tǒng)位,這個也是導致我安裝的時候出現(xiàn)異常提示,原因可能是的版本是位的,我應該再找一個位的,但事實上我找不到。 簡述 之前講了一些關(guān)于MongoDB的知識,出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計算機的虛擬機的centos系統(tǒng)下安裝MongoDB的經(jīng)歷,希望感興趣的你們在安裝MongoDB的時候出現(xiàn)問題可以來看看我是怎么安裝的...

    notebin 評論0 收藏0
  • 聊聊MongoDB - MongoDB簡單安裝

    摘要:安裝全過程環(huán)境基本情況我是在電腦下安裝的系統(tǒng)位,這個也是導致我安裝的時候出現(xiàn)異常提示,原因可能是的版本是位的,我應該再找一個位的,但事實上我找不到。 簡述 之前講了一些關(guān)于MongoDB的知識,出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計算機的虛擬機的centos系統(tǒng)下安裝MongoDB的經(jīng)歷,希望感興趣的你們在安裝MongoDB的時候出現(xiàn)問題可以來看看我是怎么安裝的...

    whatsns 評論0 收藏0
  • 聊聊MongoDB - MongoDB簡單安裝

    摘要:安裝全過程環(huán)境基本情況我是在電腦下安裝的系統(tǒng)位,這個也是導致我安裝的時候出現(xiàn)異常提示,原因可能是的版本是位的,我應該再找一個位的,但事實上我找不到。 簡述 之前講了一些關(guān)于MongoDB的知識,出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計算機的虛擬機的centos系統(tǒng)下安裝MongoDB的經(jīng)歷,希望感興趣的你們在安裝MongoDB的時候出現(xiàn)問題可以來看看我是怎么安裝的...

    diabloneo 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<