Mongo數據庫安裝與入門

一,什麼是MongoDB ?

MongoDB 是由C++語言編寫的,是一個基於分佈式文件存儲的開源數據庫系統。

在高負載的情況下,添加更多的節點,可以保證服務器性能。

MongoDB 旨在爲WEB應用提供可擴展的高性能數據存儲解決方案。

MongoDB 將數據存儲爲一個文檔,數據結構由鍵值(key=>value)對組成。MongoDB 文檔類似於 JSON 對象。字段值可以包含其他文檔,數組及文檔數組。


二,MongoDB 下載

你可以在mongodb官網下載該安裝包,地址爲:https://www.mongodb.com/download-center#community

  • MongoDB for Windows 64-bit 適合 64 位的 Windows Server 2008 R2, Windows 7 , 及最新版本的 Window 系統。
  • MongoDB for Windows 32-bit 適合 32 位的 Window 系統及最新的 Windows Vista。 32 位系統上 MongoDB 的數據庫最大爲 2GB。
  • MongoDB for Windows 64-bit Legacy 適合 64 位的 Windows Vista, Windows Server 2003, 及 Windows Server 2008 

根據你的系統下載 32 位或 64 位的 .msi 文件,下載後雙擊該文件,按操作提示安裝即可。我的window10用   MongoDB for Windows 64-bit

安裝過程中,你通過點擊 "Custom(自定義)" 按鈕來設置你的安裝目錄。

創建數據目錄

MongoDB將數據目錄存儲在 db 目錄下。但是這個數據目錄不會主動創建,我們在安裝完成後需要創建它。請注意,數據目錄應該放在根目錄下((如: C:\ 或者 D:\ 等 )。

現在讓我們在c盤創建一個data的目錄然後在data目錄裏創建db目錄和log目錄


三,命令行下運行 MongoDB 服務器

爲了從命令提示符下運行 MongoDB 服務器,你必須從 MongoDB 目錄的 bin 目錄中執行 mongod.exe 文件。

mongod --dbpath c:\data\db
這樣就設置成功了

三,命令行下運行 MongoDB 服務器


現在進入bin運行 mongod.exe   ,在運行mongo一定要保持mongod.exe 在運行

下面的如圖則表示安裝成功



這樣就能在shell下面編寫我們的sql語句了


四,mongo入門

MongoDB 創建數據庫


MongoDB 創建數據庫的語法格式如下:

use DATABASE_NAME

如果數據庫不存在,則創建數據庫,否則切換到指定數據庫。

如果你想查看所有數據庫,可以使用 show dbs 命令:

> show dbs
local  0.078GB
test   0.078GB
剛創建的數據庫並不在數據庫的列表中, 要顯示它,我們需要向 數據庫插入一些數據

MongoDB 刪除數據庫

語法

MongoDB 刪除數據庫的語法格式如下:

db.dropDatabase()

刪除當前數據庫,默認爲 test,你可以輸入 db 命令查看當前數據庫名。

最後,我們再通過 show dbs 命令數據庫是否刪除成功:

> show dbs
local  0.078GB
test   0.078GB

創建集合

MongoDB 使用 insert() 或 save() 方法向集合中插入文檔,語法如下:

db.COLLECTION_NAME.insert(document)

實例

以下文檔可以存儲在 MongoDB 的 runoob 數據庫 的 col 集合中:

>db.col.insert({title: 'MongoDB 教程', 
    description: 'MongoDB 是一個 Nosql 數據庫',
    by: '菜鳥教程',
    url: 'http://www.runoob.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})

以上實例中 col 是我們的集合名,如果該集合不在該數據庫中, MongoDB 會自動創建該集合並插入文檔。

查看已插入文檔:

> db.col.find()
{ "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個 Nosql 數據庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
> 


刪除集合

集合刪除語法格式如下:

db.collectionName.drop()
3.2 版本後還有以下語法可用於插入文檔:

  •  db.collection.insertMany():向指定集合中插入多條文檔數據,Many也可以去掉

#  插入多條數據
> var res = db.collection.insertMany([{"b": 3}, {'c': 4}])
> res
{
        "acknowledged" : true,
        "insertedIds" : [
                ObjectId("571a22a911a82a1d94c02337"),
                ObjectId("571a22a911a82a1d94c02338")
        ]
}

MongoDB 更新文檔

MongoDB 使用 update() 和 save() 方法來更新集合中的文檔。接下來讓我們詳細來看下兩個函數的應用及其區別。


update() 方法

update() 方法用於更新已存在的文檔。語法格式如下:

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

參數說明:

  • query : update的查詢條件,類似sql update查詢內where後面的。
  • update : update的對象和一些更新的操作符(如$,$inc...)等,也可以理解爲sql update查詢內set後面的
  • upsert : 可選,這個參數的意思是,如果不存在update的記錄,是否插入objNew,true爲插入,默認是false,不插入。
  • multi : 可選,mongodb 默認是false,只更新找到的第一條記錄,如果這個參數爲true,就把按條件查出來多條記錄全部更新。
  • writeConcern :可選,拋出異常的級別。

實例

我們在集合 col 中插入如下數據:

>db.col.insert({
    title: 'MongoDB 教程', 
    description: 'MongoDB 是一個 Nosql 數據庫',
    by: '菜鳥教程',
    url: 'http://www.runoob.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})

接着我們通過 update() 方法來更新標題(title):

>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
> db.col.find().pretty()
{
        "_id" : ObjectId("56064f89ade2f21f36b03136"),
        "title" : "MongoDB",
        "description" : "MongoDB 是一個 Nosql 數據庫",
        "by" : "菜鳥教程",
        "url" : "http://www.runoob.com",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}
>

更多實例

只更新第一條記錄:

db.col.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } );

全部更新:

db.col.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true );

只添加第一條:

db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false );

全部添加加進去:

db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true );

全部更新:

db.col.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );

只更新第一條記錄:

db.col.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );


參考:http://www.runoob.com/mongodb/mongodb-tutorial.html

發佈了74 篇原創文章 · 獲贊 63 · 訪問量 53萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章