1. 程式人生 > >MongoDB -01- 介紹安裝和基本使用(入門篇)

MongoDB -01- 介紹安裝和基本使用(入門篇)

MongoDB -01- 介紹安裝和基本使用(入門篇)

相信大家都接觸過一些關係型資料庫,像 Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL 等,常見的關係型資料庫和非關係型都有哪些? 這一篇文章也提出了一些關係型資料庫的優缺點。

隨著網際網路 web2.0 網站的興起,超大規模和高併發的 SNS 型別的 web2.0 純動態網站已經顯得力不從心,暴露了很多難以克服的問題,而非關係型的資料庫則由於其本身的特點得到了非常迅速的發展。NoSQL 資料庫的產生就是為了解決大規模資料集合多重資料種類帶來的挑戰,尤其是大資料應用難題。非關係型資料庫可以為大資料建立快速、可擴充套件的儲存庫。

什麼是 NoSQL?

      NoSQL,指的是非關係型的資料庫。NoSQL 有時也稱作 Not Only SQL 的縮寫,是對不同於傳統的關係型資料庫的資料庫管理系統的統稱。
NoSQL 用於超大規模資料的儲存。(例如谷歌或Facebook每天為他們的使用者收集萬億位元的資料)。這些型別的資料儲存不需要固定的模式,無需多餘操作就可以橫向擴充套件。

什麼是 MongoDB ?
    MongoDB 是由 C++ 語言編寫的,是一個 基於分散式檔案儲存的開源資料庫系統
    在高負載的情況下,新增更多的節點,可以保證伺服器效能。
    MongoDB 旨在為 WEB 應用提供可擴充套件的高效能資料儲存解決方案。
    MongoDB 將資料儲存為一個文件,資料結構由鍵值(key=>value)對組成。


    MongoDB 文件類似於 JSON 物件。 欄位值可以包含其他文件,陣列及文件陣列。,就像這樣:

{
    username:'xiaoming',
    password:'123'
}

    MongoDB 是一個介於關係資料庫和非關係資料庫(NoSQL)之間的產品,是非關係資料庫當中功能最豐富,最像關係資料庫的。

MongoDB 下載與安裝

1.官網下載地址:https://www.mongodb.com/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-4.0.4-signed.msi/download

2.自行選擇版本和適用作業系統,Windows 系統建議下載 msi 字尾名的可安裝檔案。
預設安裝即可,最後一步點選 Customer 可以自定義安裝路徑:

3.安裝後會有以下幾個目錄:

  • bin 目錄:存放一些課執行程式檔案
  • data 目錄:資料存放目錄
  • log 目錄:日誌資訊

4.安裝後會多出這樣一個服務:

連線 MongoDB

雙擊開啟安裝目錄下的 mongo.exe 命令即可連線上 MongoDB
mongo.exe 具體目錄:

C:\Program Files\MongoDB\Server\4.0\bin

00 - 檢視所有資料庫

檢視目前已有的所有資料庫,使用命令:

show dbs

01 - 切換資料庫

在 mongo.exe 的命令列下,使用下面命令:

use dba

在這裡插入圖片描述
【注意】:
(1)dba 也可以換成其他任意的名字,不是預先建立的資料庫,是之後可能會常見這個資料庫。
(2)建立資料庫並不是必須的操作,資料庫與集合只有在第一次插入文件時才會被建立,與對資料的動態處理方式是一致的。簡化並加速開發過程,而且有利於動態分配名稱空間。如果擔心資料庫或集合被意外建立,可以開啟嚴格模式。

02 - 插入語法

可以使用兩種方式來插入資料:

// 方法一
db.users.insert({username:"xiaopengwei"})
// 方法二
db.users.save({username:"xiaopengwei"})

在這裡插入圖片描述

兩種方式的區別:
(1)若新增的資料中存在主鍵 ,insert() 會提示錯誤,而 save() 則更改原來的內容為新內容。

例如:
已存在資料: {_id : 1, ” name ” : ” n1 ” },再次進行插入操作時,
insert({_id : 1, ” name ” : ” n2 ” }) 會報主鍵重複的錯誤提示
save({ _id : 1, ” name ” : ” n2 ” }) 會把 n1 修改為 n2 。
相同點:
若新增的資料中沒有主鍵時,會增加一條記錄。
已存在資料: { _id : 1, ” name ” : ” n1 ” },再次進行插入操作時,
insert({ ” name ” : ” n2 ” }) 插入的資料因為沒有主鍵,所以會增加一條資料
save({ ” name ” : ” n2 ” }) 增加一條資料。

03 - 查詢語法

使用下面語句實現查詢
(1)查詢全部資料:

db.users.find()

在這裡插入圖片描述

(2)查詢資料項數:

db.users.count()

在這裡插入圖片描述
(3)條件查詢:

db.users.find({username:"xiaopengwei"})

在這裡插入圖片描述

04 - 更新語法

db.users.update({username:"xiaopengwei"},{$set:{country:"China"}})
//把使用者名稱為 xiaopengwei 的使用者的國家改成 China

db.users.update({username:"smith"},{$unset:{country:1}})
//把使用者名稱為 xiaopengwei 的使用者的國家欄位給移除

db.users.update({username:"jones"},{$set:{favorites:{movies:["casablance","rocky"]}}})
//這裡主要體現多值修改,在 favorties 欄位中新增多個值

db.users.update({"favorites.movies":"casablance"},{$addToSet:{favorites.movies:"the maltese"}},false,true)
//多項更新

刪除語法

db.foo.remove() //刪除所有資料
db.foo.remove({favorties.cities:"cheyene"}) //根據條件進行刪除
db.drop() //刪除整個集合

索引相關語法

db.numbers.ensureIndex({num:1})
//建立一個升序索引
db.numbers.getIndexes()
//獲取全部索引

基本管理語法

show dbs
//查詢所有資料庫
show collections
//顯示所有表
db.stats()
//顯示資料庫狀態資訊
db.numbers.stats()
//顯示集合表狀態資訊
db,shutdownServer()
//停止資料庫
db.help()
//獲取資料庫操作命令
db.foo.help()
//獲取表操作命令
tab 鍵 //能自動幫我們補全命令

以上的命令只是簡單例項,假設如果你之前沒有學習過任何資料庫語法,同時開始學 sql 查詢語法和 MongoDB 查詢語法,你會發現哪一個更簡單呢?

更多文章