對於mongodb在linux上的的安裝與其簡單命令列操作的學習回顧
今天培訓主要學習了MongoDB的安裝與簡單操作以及關於NoSQL的一點概念性的知識,在此對所操作的MongoDB命令進行簡單回顧
1.MongoDB的安裝
與網上的教程無太多出入,Linux系統下直接通過終端輸入命令列
sudo apt-get install mongodb
即可。本人這個下載過程還是比較順利的,沒有報錯。不過授課師兄提到一個他下載時裝了n遍不成功的坑,最後各種百度和查資料發現這個mongodb下載會預設吃掉3G的記憶體,hold不住的要通過輸入命令使得它構建的比較小型,所以要注意一下。
ps:較深感受是以後這種下載軟體的操作提前自行完成較好,學校實驗室wifi速度讓我在這花了一個小時多(淚目)
2.mongodb簡單操作
下載完成後第一步就是通過終端連線mongodb啦,這個操作也十分簡單,直接輸入mongo即可
操作成功後如圖,可以知道這個版本是2.6.10以及連線的是test這個資料庫
接下來,可以進行
show collections
檢視已有的集合,也就是類似於表的東西,可以得到如圖
所得第一行是本人已經建了的一個集合,第二行是系統一個類似索引的東西
很自然的,進入這個庫,我們可以進行一個建集合的操1
db.createCollections("表名") 例:db.createCollections("Club") ,建表成功的話會返回{“ok”,1}的命令
鑑於此處已操作過,就省略這個步驟了
那麼,首先,我們來進行增刪查改中這個查的操作
輸入命令
db.Club.find()
可以檢視到Club這個表中的資料如圖
這個排布不是很友好,我們可以再對這條命令加點東西
db.Club.find().pretty()
再次顯示的如圖
這樣我們就得到了一個很pretty的顯示了
那麼,對於mongodb這種專門針對大規模資料的分散式資料庫來說,帶特定條件的查詢是必不可少的功能了
這種操作我們就將所要查詢的條件在find()中新增引數來實現了
首先,我們通過key:value這種鍵值對形式進行查詢
db.Club.find({"name":"qinshihao"})
結果會返回這個name:qinshihao的整條資料如圖
還可以進行條件性的查詢
db.Club.find({"age":{$lt:23}})
這裡進行的是一個對年齡小於23的查詢,結果如圖
切忌不能直接在括號內輸入“age”<23,一定要按照格式才能完成條件搜尋,其中
gt : 大於 ; lt: 小於 ; gte: 大於等於; lte: 小於等於
最後我們嘗試一個對條件進行模糊搜尋的操作
db.Club.find({"name":/hao/})
那麼接下來,我們可以嘗試進行增的操作,也是非常的簡單
db.Club.insert({"name":"wujiacheng","age":28,"job":"AndroidEngineer"})
其中{}內是所插入的內容,完成後會出現
WriteResult(“nInserted”:1)
我們可以再進行一次查的操作進行檢視,結果如圖
接下來進行一個改的操作
先看一下師兄給的文字資料
db.collection.update(criteria, objNew, upsert, multi)
criteria: update的查詢條件, 類似sql update 查詢內where 後面的;
objNew: update 的物件和一些更新的操作符等,也可以理解為sql update查詢內set後面的
upset: 這個引數的意思是, 如果不存在update的記錄, 是否插入objNew, true為插入, 預設是false, 不插入.
Multi: mongodb預設是false, 只更新找到的第一條記錄, 如果這個引數為true, 就把按條件查出來多條記錄全部更新.
例子:db.quincyDB.update({"age":22},{$set:{"name":"quincy"}},false,
false);
根據上述我們進行一下操作
db.Club.update({"name"="wujiacheng"},{$set:{"job":"KingOfAndroid"}},false,false)
那麼可以看到我們這個改的操作是成功的。
主要我們這個學習的過程中資料量較小,後面兩個引數直接false了,如果實際進行專案工作時應注意對後兩個引數的把控,還有就是這個操作中各類小括號中括號冒號的輸入比較多,進行命令列操作時要多加註意
最後我們進行一個刪的操作
db.Club.remove({"age":38})
得到
那麼我們這個age為38的整條資料就完成了刪除的操作
總結:在這個Linux的終端上操作mongodb其實難度不大,主要的增刪查改的操作語句上面都是大同小異,主要還是要注意多重括號的輸入規範以免命令錯誤,希望在以後的學習過程中能夠多多練習吧。