1. 程式人生 > >Linux ubuntu 下MongoDB的安裝和使用

Linux ubuntu 下MongoDB的安裝和使用

介紹

MongoDB 是一個基於分散式檔案儲存的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充套件的高效能資料儲存解決方案。
它是一個介於關係資料庫和非關係資料庫之間的產品,是非關係資料庫當中功能最豐富,最像關係資料庫的。它支援的資料結構非常鬆散,是類似json的bson格式,因此可以儲存比較複雜的資料型別。Mongo最大的特點是它支援的查詢語言非常強大,其語法有點類似於面向物件的查詢語言,幾乎可以實現類似關係資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。
(源自百度百科

安裝

在linux ubuntu的環境下,Ctrl+ALT+T 開啟終端,輸入

sudo
apt-get install mongodb

或者使用MongoDB提供的包來進行安裝,分享
可以檢視版本資訊,輸入
這裡寫圖片描述

使用MongoDB

1.進入shell命令模式

在終端輸入mongo
這裡寫圖片描述
輸入show dbs顯示資料庫列表
這裡寫圖片描述

2.建立collection

我們用到db.createCollection()來建立一個collection
再輸入show collections顯示當前資料庫中的集合(collection)
這裡寫圖片描述

3.插入資料

插入資料有兩種方式:insert和save
db.student.insert({_id:1, sname: ‘zhangsan’, sage: 20}) #_id可選
db.student.save({_id:1, sname: ‘zhangsan’, sage: 22}) #_id可選
這兩種方式,其插入的資料中_id欄位均可不寫,會自動生成一個唯一的_id來標識本條資料。而insert和save不同之處在於:在手動插入_id欄位時,如果_id已經存在,insert不做操作,save做更新操作;如果不加_id欄位,兩者作用相同都是插入資料。
例如:
這裡寫圖片描述


新增的資料其結構是鬆散的,只要是bson格式均可,列屬性均不固定,根據新增的資料為準。先定義資料再插入,就可以一次性插入多條資料
這裡寫圖片描述

這時我們可以看到,student這個collection自動建立了,這說明MongoDB不需要預先定義collection,在第一次插入資料後就會自動建立

4.查詢資料

db.collection.find(criteria, filterDisplay)
criteria :查詢條件,可選
filterDisplay:篩選顯示部分資料,如顯示指定列資料,可選(當選擇時,第一個引數不可省略,若查詢條件為空,可用{}做佔位符
如:db.student.find({},{sname:1, sage:1})
db.student.find()括號內不寫時為查詢所有記錄
這裡寫圖片描述


想效果好看點,可以這樣
這裡寫圖片描述

5.修改資料

db.collection.update(criteria, objNew, upsert, multi )
criteria: update的查詢條件,類似sql update查詢內where後面的
objNew : update的物件和一些更新的操作符(如$set)等,也可以理解為sql update查詢內set後面的。
upsert : 如果不存在update的記錄,是否插入objNew,true為插入,預設是false,不插入。
multi: mongodb預設是false,只更新找到的第一條記錄,如果這個引數為true,就把按條件查出來多條記錄全部更新。預設false,只修改匹配到的第一條資料。
其中criteria和objNew是必選引數,upsert和multi可選引數
這裡寫圖片描述

6.刪除資料

db.student.remove()
這裡寫圖片描述

7.刪除集合(collection)

db.collection.drop()
這裡寫圖片描述

退出shell命令模式