MongoDB入門教程(一)

Stacia39W 8年前發布 | 45K 次閱讀 MongoDB

MongoDB簡介

MongDB是一個高性能,開源,無模式的文檔型NosQL數據庫。

主要功能特性:

1.文件存儲格式BSON(一種json的擴展)
2.模式自由
數據格式不受限了表的結構
3.支持動態查詢
4.支持完全索引
5.支持復制(其主從復制)和故障恢復
6.使用高效的二進制數據存儲,包括大型對象
7.自動處理碎片,以支持云計算層次的擴展。
8.支持Java、Ruby、Python、C++、PHP等多種語言
9.內部支持Javascript

MongoDB的優勢

1.查詢速度快
2.高并發。可以達到2萬個并發。
3.高容量。支持10TB意思的數據量
MongoDB使用場景
1.網站數據
2.緩存
3.大尺寸、低價值的數據
4.高伸縮的場景
5.用于對象以及Json數據存儲

MongoDB限制

1.在32位操作系統上,不支持大于2.5G的數據
2.單個文件大小限制16M
3.高度事務的系統
4.傳統商業智能應用

MongoDB與其他數據庫區別

這里寫圖片描述

MongoDB安裝

在這里,主要講解的是win下安裝,關于Linux下安裝,隨后會添加上。
下載網址:官方網站(https://www.mongodb.org/downloads/#production
在這里使用的是win32
這里寫圖片描述
筆者下載老長時間才下完,估計是個人網速問題,
這里寫圖片描述

這里寫圖片描述
這里寫圖片描述
安裝好之后,安裝目錄下,發現有如下目錄
這里寫圖片描述

配置path路徑[可選]

配置path路徑目的便于,直接可以再命令提示符輸入mongoDB命令,不需要每次在切換到mongoDB的bin目錄。在[我的電腦]右鍵,選擇[屬性]=>[高級系統設置]=>[高級]=>[環境變量設置]=>系統變量里面的[path]修改,添加mongoDB的bin目錄,我添加的目錄是’C:\Program Files\MongoDB\Server\3.2\bin’
操作步驟截圖如下:
這里寫圖片描述

啟動MongDB服務端

參照官方網站:https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/#install-mongodb-community-edition
啟動MongDB步驟如下

設置MongDB執行環境

官方原話如下:
Set up the MongoDB environment
1.MongoDB requires a data directory to store all data. MongoDB’s default data directory path is \data\db. Create this folder using the following commands from a Command Prompt:
md \data\db
mongoDB需要指定一個目錄來存儲數據。在win下在命令提示中,你可以使用md命令創建目錄。在此,我將創建一個data目錄和log目錄,分別用于存放數據和日志。吐槽一下,感覺win下創建目錄確實沒有linux下方便。
這里寫圖片描述
此時該目錄下創建目錄如下
這里寫圖片描述

啟動mongoDB(針對服務端)

官方原話如下:
To start MongoDB, run mongod.exe. For example, from the Command Prompt:
C:\mongodb\bin\mongod.exe
This starts the main MongoDB database process. The waiting for connections message in the console output indicates that the mongod.exe process is running successfully.
就是我們通過mongod.exe來啟動mongoDB,啟動了MongoDB主數據進程,如果出現等待連接的消息,則暗示著mongod.exe進程正在成功運行著。
好了,現在我們開始啟動了。
啟動命令如下:
mongod.exe --dbpath="C:\Program Files\MongoDB\Server\data" --logpath="C:\Program Files\MongoDB\Server\log\mongodb.log" --port=27017
如果沒有配置mongoDB的path目錄,需要先切換到mongoDB的bin目錄下或是使用C:\Program Files\MongoDB\Server\3.2\bin\mongod.exe去執行。
解析:dbpath指定數據存放目錄,可自行指定
logpath指定日志路徑,可以自行指定
port指定端口號,默認的是27017

此時既然爆出如下錯誤
這里寫圖片描述
也就是說32位系統默認情況下沒有開啟日志記錄功能,請使用–journal開啟。
但是當我進入C:\Program Files\MongoDB\Server\log目錄下時候,發現有日志,其內容如下:

016-04-28T21:42:47.003+0800 I CONTROL  [main] Hotfix KB2731284 or later update is not installed, will zero-out data files
2016-04-28T21:42:47.071+0800 I CONTROL  [initandlisten] MongoDB starting : pid=17916 port=27017 dbpath=C:\Program Files\MongoDB\Server\data 32-bit host=YEGZT8JOIIU2LKY
2016-04-28T21:42:47.072+0800 I CONTROL  [initandlisten] targetMinOS: Windows Vista/Windows Server 2008
2016-04-28T21:42:47.072+0800 I CONTROL  [initandlisten] db version v3.2.5
2016-04-28T21:42:47.072+0800 I CONTROL  [initandlisten] git version: 34e65e5383f7ea1726332cb175b73077ec4a1b02
2016-04-28T21:42:47.072+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2016-04-28T21:42:47.073+0800 I CONTROL  [initandlisten] modules: none
2016-04-28T21:42:47.073+0800 I CONTROL  [initandlisten] build environment:
2016-04-28T21:42:47.073+0800 I CONTROL  [initandlisten]     distarch: i386
2016-04-28T21:42:47.073+0800 I CONTROL  [initandlisten]     target_arch: i386
2016-04-28T21:42:47.073+0800 I CONTROL  [initandlisten] options: { net: { port: 27017 }, storage: { dbPath: "C:\Program Files\MongoDB\Server\data" }, systemLog: { destination: "file", path: "C:\Program Files\MongoDB\Server\log\mongodb.log" } }
2016-04-28T21:42:47.090+0800 I STORAGE  [initandlisten] exception in initAndListen: 28663 Cannot start server. The default storage engine 'wiredTiger' is not available with this build of mongod. Please specify a different storage engine explicitly, e.g. --storageEngine=mmapv1., terminating
2016-04-28T21:42:47.090+0800 I CONTROL  [initandlisten] dbexit:  rc: 100

這日志記錄的跟,命令提示中提示的還不一樣啊,怎么辦?因為命令提示中,提示是因為日志沒有開啟造成的錯誤,而日志說引擎不合適。只能先一個嘗試一下。那我不添加日志,執行如下命令
mongod.exe --dbpath="C:\Program Files\MongoDB\Server\data" --port=27017
這里寫圖片描述
通過這個提示,看來這次確定了,是默認存儲引擎不支持了。只好換一個引擎。執行如下命令:
mongod.exe --dbpath="C:\Program Files\MongoDB\Server\data" --logpath="C:\Program Files\MongoDB\Server\log\mongodb.log" -storageEngine="mmapv1" --port=27017 --journal
執行結果如下:
這里寫圖片描述
一直在等待連接中,此時我查看了一些log日志
這里寫圖片描述
看來是啟動了。

連接MongoDB(針對客戶端)

官方原話如下:
Connect to MongoDB.?

To connect to MongoDB through the mongo.exe shell, open another Command Prompt.

C:\mongodb\bin\mongo.exe
If you want to develop applications using .NET, see the documentation of C# and MongoDB for more information.

要想連接MongoDB,需要打開另外一個命令提示符窗口,通過mongo.exe來建立連接。如果要使用 .NET開發應用,需要查看C#文檔和其他MongoDB手冊,來獲取更多信息。

說白了,就是客戶端通過mongo.exe來連接mongoDB。其實直接輸入mongo也一樣,當然我這里面出現了一些警告信息,暫時可以不去理會。
這里寫圖片描述

客戶端連接mongoDB方式如下(里面的mongoDB也可以換成mongo.exe)
這里寫圖片描述

常用命令

1.db.help()
查看命令提示
這里寫圖片描述
2.db
查看當前所在數據庫的名字
這里寫圖片描述
3.use命令
use+數據庫名 表示切換或是創建數據庫。和Mysql中use的唯一不同點,就是當數據庫不存在的時候,MongoDB中的use可以創建數據庫。
這里寫圖片描述
4.show dbs
顯示數據庫,需要注意的是show dbs,只會顯示有數據的庫,沒有數據的庫,是不會顯示的。下圖中,dqs數據庫中,開始沒有數據,所以不會顯示,當我插入一條數據庫后,show dbs 就會顯示它。
這里寫圖片描述
5.db.dropDatabase()
刪除當前數據。
刪除之前
這里寫圖片描述
執行刪除操作,刪除之后,當前庫不變化。
這里寫圖片描述
刪除之后,數據庫文件也沒有了。
這里寫圖片描述
6.db.stats()
查看當前數據的狀態
這里寫圖片描述
7.db.version()
查看mongoDB版本
8.db.getMongo()
查看當前連接機器的ip
這里寫圖片描述
9.mongoDB對支持JavaScript
因為mongoDB支持JavaScript,所以可以直接在命令提示中輸入js代碼。如下圖
這里寫圖片描述

 

來自: http://blog.csdn.net/hsd2012/article/details/51279472

 本文由用戶 Stacia39W 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!