一、前言
現在越來越多的公司開始采用非關系數據庫了,並且很多公司的面試都要求面試 者有MongoDB的使用經驗,至於非關系數據庫與關系型數據庫之間的區別大家可以自行百度。但是作為程序員的我們,既然大部分公司都需要有NOSQL的 使用經驗,自然我們就應該學習起來了。所以也就有了這個系列了。NOSQL包括很多,但是使用最大的還是屬於MongoDB和Redis。所以在本系列中 將詳細介紹下這兩種非關系數據庫的環境搭建和一些常規使用。本專題就首先介紹下MongoDB開發環境的搭建和完成一些簡單的增刪改查操作。下面就隨着我 一起去學習吧。
二、MongoDB開發環境搭建
MongoDB的開發環境的搭建相對來說還是很簡單的,盡管說 MongoDB是非關系數據庫,但是和關系型數據(如SQL Server)一樣,都是用來持久化數據的。自然和非關系型數據目的是一樣的,其開發方式也是非常類似的。大家都知道,在對SQL Server進行操作時,需要搭建一個SQL Server服務器,然后用.NET的相關技術充當客戶端來對SQL Server服務器進行操作,來完成對數據的持久化保存操作。所以,對於MongDB的開發模式也是一樣的,只是它們之間持久化的數據格式不一樣而已。 SQL Server等關系型數據庫都是以表來保存數據的,而MongoDB等非關系型數據庫都是以JSON格式來保存數據的。
既然,它們的開發模式是一樣的,在之前我們對SQL Server操作都是首先需要連接SQL Server服務器,然后本地開發需要引入SQL Server驅動來進行開發。所以MongoDB的開發環境的搭建也不例外。
首先,我們需要去MongoDB下載MongoDB。下載地址:https://www.mongodb.org/downloads。由於,我的操作系統是32位的,所以我這里下載的版本就是32位3.0.4版本。下載下來后,然后進行解壓。
其實,到這里,MongoDB的開發環境就完成了。這里大家肯定會問,不會 吧,這么快,以前SQL Server安裝程序可是要安裝很久的啊,怎么MongoDB這么快就好?此時大家千萬不要疑惑,此時開發環境真的已經大家好了。下面就讓我們看看如何通 過來完成對MongoDB的增刪改查操作。
三、基本操作
首先,打開命令行工具,然后切換到你MongoDB所在的目錄。通過允許mongod.exe程序來啟動MongoDB服務器,同時還需要用--dbpath參數來指定數據存放的文件夾。如果不指定參數將不能成功啟動MongoDB服務,具體的命令如下圖所示:
通過上圖可以看到,我們的MongoDB服務已經啟動成功了,MongoDB默認監聽的端口就是27017。下面就通過瀏覽器來驗證下MongoDB服務是否啟動成功了。輸入地址:http://localhost:27017/。打開后,如果看到如下圖所示的結果,就表明MongoDB服務已經啟動成功了。
既然,MongoDB服務已經啟動了,接下來就需要客戶端對服務器進行請求來 完成把數據保存到服務器上。我們同樣可以通過命令行的方式來啟動MongoDB的客戶端,重新打開一個命令行工具,通過mongo.exe命令來啟動 MongoDB的客戶端。具體命令如下圖所示:
從上圖可以看到,客戶端默認鏈接的是"test"數據庫,就如SQL Server默認鏈接的是master數據庫一樣。既然,我們客戶端和服務器都已經准備好了,接下來就需要在客戶端通過命令來發出對服務器的請求,來完成增刪改查操作。
數據庫我們已經有了,即"test"數據庫,按照常規的數據庫操作,我們需要 創建一個表,然后往表里插入一條數據。但是在非關系數據庫中,並沒有表的概念,只有集合的概念,大家可以把非關系數據庫中集合的概念理解為關系數據庫中表 的一個概念。並且在MongoDB中並不需要單獨的創建集合命令,因為在插入的數據的同時也會完成集合的創建。這里把需要創建的集合命名 為"person"。通過insert()方法來完成數據的插入。具體的命令如下圖所示:
通過上面可以看出,我們已經成功像person集合插入了2條記錄。可以通過find()方法來查詢下集合person中是否現在已經存在2條記錄。具體的查找命令如下圖所示:
從圖中可以發現,我們確實已經成功插入了2條記錄了,並且MongoDB服務已經自動為其加入_id這個字段,該字段的值也是由MongoDB服務默認為我們生成的GUID,來保證數據的唯一性。除此之外,我們還可以指定特定的篩選條件來篩選記錄。具體命令如下圖所示:
接下來,我們可以通過update()和remove()方法來完成數據的刪除和更新。具體的命令和效果如下圖所示:
update方法的第一個參數為“查詢條件”,第二個參數為“更新的值”。remove方法如果不帶參數將刪除所有數據(db.person.remove( { } ))。帶參數指的是“查詢條件”,即刪除掉查詢到的數據。
通過上面,我們就完成了MongoDB的增刪改查操作了。上面,我們是通過命 令行的方式來完成的,但是這樣的方式未免有些不方便,此時就想:有沒有什么GUI的工具來完成這些操作呢?就如SQL Server的客戶端那樣。對於這點,答案是肯定的,這里我用的是“MongoVUE 1.5.3”版本,個人覺得還是蠻還用的,大家可以去百度雲盤去下載破解版的。下面讓我們通過MongoDB客戶端的GUI工具來查詢下剛才我們插入的數 據,打開“MongoVUE”工具,然后點Connect按鈕來創建鏈接,連接就如下圖所示:
鏈接成功之后,我們就可以看到類似SQL Server那樣的數據庫結構界面了,具體的效果如下圖所示:
並且通過GUI客戶端工具可以很方便地完成增刪改查操作,而不需要手敲命令去完成。
文章來自:http://www.cnblogs.com/zhili/p/MongodbQuickStart.html