MongoDB是一個(gè)跨平臺(tái),面向文檔的數(shù)據(jù)庫,提供高性能,高可用性和易于擴(kuò)展。MongoDB是工作在集合和文檔上一種概念。
數(shù)據(jù)庫是一個(gè)集合的物理容器。每個(gè)數(shù)據(jù)庫獲取其自己設(shè)定在文件系統(tǒng)上的文件。一個(gè)單一的MongoDB服務(wù)器通常有多個(gè)數(shù)據(jù)庫。
集合是一組MongoDB的文件。它與一個(gè)RDBMS表是等效的。一個(gè)集合存在于數(shù)據(jù)庫中。集合不強(qiáng)制執(zhí)行模式。集合中的文檔可以有不同的字段。通常情況下,在一個(gè)集合中的所有文件都是類似或相關(guān)目的。
文檔是一組鍵值對(duì)。文檔具有動(dòng)態(tài)模式。動(dòng)態(tài)模式是指,在同一個(gè)集合的文件不必具有相同一組集合的文檔字段或結(jié)構(gòu),并且相同的字段可以保持不同類型的數(shù)據(jù)。
下面給出的示例顯示了一個(gè)博客網(wǎng)站,僅僅是一個(gè)逗號(hào)分隔的鍵值對(duì)的文檔結(jié)構(gòu)。
{ _id: ObjectId(7df78ad8902c) title: 'MongoDB Overview', description: 'MongoDB is no sql database', by: 'yiibai tutorial', url: 'http://www.yiibai.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100, comments: [ { user:'user1', message: 'My first comment', dateCreated: new Date(2011,1,20,2,15), like: 0 }, { user:'user2', message: 'My second comments', dateCreated: new Date(2011,1,25,7,45), like: 5 } ] }
要在Windows上安裝MongoDB,首先從 http://www.mongodb.org/downloads 下載 MongoDB 的最新版本
現(xiàn)在,提取下載的文件到c:\ 驅(qū)動(dòng)器或其他位置。 確保壓縮文件夾名稱是 mongodb-win32-i386-[version] 或 mongodb-win32-x86_64-[version]. 這里 [version] 是MongoDB的下載版本。
現(xiàn)在,打開命令提示符并運(yùn)行以下命令
C:\>move mongodb-win64-* mongodb 1 dir(s) moved. C:\>
如果提取 mondodb 在不同的位置,然后進(jìn)入這個(gè)路徑通過命令 cd FOOLDER/DIR 現(xiàn)在運(yùn)行上面給出的過程。





如果安裝 MongoDB 在不同的位置(建議安裝到 D:\software),那么需要設(shè)置路徑 dbpath 在 mongod.exe 指向 data 備用路徑。請(qǐng)看看下面的命令
在命令提示符下導(dǎo)航到bin目錄,當(dāng)前到 MongoDB 的安裝文件夾。本教程中安裝文件夾是(為了保持與本教程一致,建議也安裝到這個(gè)目錄,如果你喜歡折騰,那我攔也攔不住):D:\software
C:\Users\yiibai>d: D:\>cd "software" D:\software>cd MongoDB\Server\3.0\bin D:\software\MongoDB\Server\3.0\bin> mongod.exe --dbpath "d:\software\MongoDB\Server\3.0\data"
這將顯示在等待連接的控制臺(tái)輸出消息,指示 mongod.exe 成功運(yùn)行過程。
現(xiàn)在運(yùn)行的MongoDB,需要打開一個(gè)命令提示符,發(fā)出以下命令
D:\software\MongoDB\Server\3.0\bin>mongo.exe MongoDB shell version: 3.0.4 connecting to: test >db.test.save( { a: 1 } ) >db.test.find() { "_id" : ObjectId(5879b0f65a56a454), "a" : 1 } >
這將顯示已安裝的 MongoDB 并成功運(yùn)行。下一次當(dāng)您要運(yùn)行 MongoDB 只需要發(fā)出命令:
D:\software\MongoDB\Server\3.0\bin>mongod.exe --dbpath "d:\software\MongoDB\Server\3.0\data" D:\software\MongoDB\Server\3.0\bin>mongo.exe
出現(xiàn)錯(cuò)誤:
D:\software\MongoDB\Server\3.0\bin>mongod.exe --dbpath "d:\software\MongoDB\Server\3.0\data"

MongoDB use DATABASE_NAME 用于創(chuàng)建數(shù)據(jù)庫。該命令如果數(shù)據(jù)庫不存在,將創(chuàng)建一個(gè)新的數(shù)據(jù)庫, 否則將返回現(xiàn)有的數(shù)據(jù)庫。
use DATABASE語句的基本語法如下:
use DATABASE_NAME
如果想創(chuàng)建一個(gè)數(shù)據(jù)庫名稱為 <mydb>, 那么 use DATABASE 語句應(yīng)該如下:
>use mydb switched to db mydb
要檢查當(dāng)前選擇的數(shù)據(jù)庫使用命令 db
>db mydb
如果想查詢數(shù)據(jù)庫列表,那么使用命令 show dbs.
>show dbs local 0.78125GB test 0.23012GB
所創(chuàng)建的數(shù)據(jù)庫(mydb)不存在于列表中。要顯示的數(shù)據(jù)庫,需要至少插入一個(gè)文檔進(jìn)去。
>db.movie.insert({"name":"yiibai tutorials"}) >show dbs local 0.78125GB mydb 0.23012GB test 0.23012GB
MongoDB的默認(rèn)數(shù)據(jù)庫是test。 如果沒有創(chuàng)建任何數(shù)據(jù)庫,那么集合將被保存在測(cè)試數(shù)據(jù)庫。
MongoDB db.dropDatabase() 命令用于刪除現(xiàn)有的數(shù)據(jù)庫。
dropDatabase()指令的基本語法如下:
db.dropDatabase()
這將刪除選定的數(shù)據(jù)庫。如果沒有選擇任何數(shù)據(jù)庫,那么它會(huì)刪除默認(rèn)的“test”數(shù)據(jù)庫
如果想刪除新的數(shù)據(jù)庫 <mydb>, 那么 dropDatabase() 命令將如下所示:
>use mydb switched to db mydb >db.dropDatabase() >{ "dropped" : "mydb", "ok" : 1 } >
MongoDB 的 db.createCollection(name, options) 用于創(chuàng)建集合。 在命令中, name 是要?jiǎng)?chuàng)建集合的名稱。 Options 是一個(gè)文檔,用于指定集合的配置
| 參數(shù) | 類型 | 描述 |
|---|---|---|
| Name | 上一篇:MongoDB自動(dòng)遞增序列下一篇:MongoDB聚合 |