1. 程式人生 > >[MongoDB學習筆記-01] 入門

[MongoDB學習筆記-01] 入門

這裡寫圖片描述

1、安裝MongoDB伺服器

實際上,安裝MongoDB伺服器只需四步:
1、到官網下載MongoDB,並解壓;
2、把/bin目錄新增到系統路徑;
3、建立資料檔案路徑,即是<mongo_data_location>/data/db ;

2、在控制檯中啟動MongoDB:

   mongod  -dbpath  <mongo_data_location>/data/db 

mongod的命令列引數:

參 數 說 明
–help, -h 返回基本幫助和用法文字
–version 返回MongoDB版本號
–config <檔名>,-f <檔名> 指定包含執行時配置的配置檔案
–verbose, -v 增加發送到控制檯,並且寫入–logpath規定的日誌檔案的內部報告數量
–quiet 減少傳送到控制檯和日誌檔案的報告數量
–port <埠> 指定MongoDB來監聽客戶端的連結的IP地址,預設值是27017
–maxConns <編號> 指定Mongod接受併發連線的數量,最大值是20000.
–logPath <路徑> 指定日誌檔案路徑。在重啟時,日誌檔案會被覆蓋,除非你還指定–logappend
–auth 對從遠端主機上連線資料庫的使用者用資料庫身份驗證。
–dbpath <路徑> 指定Mongd例項用來儲存其資料的目錄
–nohttppinterface 禁用HTTP介面
–nojournal 禁用日誌
–noprealloc 禁止預分配資料檔案,從而縮短啟動時間。但是,可能會在正常的操作期間內造成明顯的效能損失。
–repair 在所有資料庫上執行修復程式
–bind_ip 指定Mongod繫結和監聽連線的IP地址,預設的是All Interface(所有的介面)

3、啟動MongoD

mongod -dbpath   <mongo_data_location>/data/bin  

或者
mongod  -port  28008  -dbpath <mongo_data_location>/data/bin*

4、停止MongoDB

開啟MongoDB的shell客戶端(在控制檯視窗中執行以下命令來開啟shell客戶端):

   $ mongo

開啟shell後,通過以下形式關閉指定資料庫:

    use  admin    // 切換到指定資料庫,這裡是admin資料庫
    db.shutdownServer()    // 立即關閉admin資料庫

5、從shell客戶端訪問MongoDB的方法。

一旦你進入MongoDB shell就能管理MongoDB的各個方面。注意,MongoDB shell 是基於JavaScript的,因此它也就能夠支援大多數的JavaScript的語法。此外,shell提供了對伺服器上資料庫和集合的直接訪問。所以,在shell中的更改和執行的任務將直接影響到伺服器上的資料和它的效能。

MongoDB的shell命令:
1、help <option>
顯示MongoDB語法幫助 ;

2、use <database>
更改MongoDB控制代碼 ;

3、show <option>

   3-1、 dbs
   3-2、collections
   3-3、profile
   3-4、log [ name ] 

根據option引數顯示清單 ;

  1. 顯示資料庫清單;
  2. 顯示當前資料庫的集合清單;
  3. 顯示時間超過1毫秒的最新system.profile條目;
  4. 顯示登入記憶的最後一段。如果沒有指定name, 預設使用global.

4、 exit
退出資料庫;

MongoDB shell方法:

1>、load ( script )

在shell的內部載入和執行JavaScript。對資料庫進行指令碼操作時使用這種方法是最合適的。

2>、UUID ( string )

把32位元組的十六進位制字串轉換成BSON的UUID

3>、db.auth( username, password )

瞭解命令的引數和結果:

MongoDB的shell是與MongoDB的資料結構緊密結合的互動式JavaScript shell。
這也就意味著,很多資料互動,從傳入方法的引數到從方法所返回的資料,都是標準的MongoDB文件,這在大多數情況下都只是JS物件。

如下程式碼,建立使用者,並傳入以下引數定義使用者:

db.createUser({ 
                       user: "G-Dragon", 
                       userSource: "test", 
                       roles: [ "read" ],
                       otherDBRRoles: { testDB2: [ "readWrite" ] }
})

>db.system.users.find()

使用shell編寫MongoDB指令碼

有兩種方式來執行mongodb shell指令碼:
1>、命令列中,使用–eval。

   mongo test  --eval  "printjson( db.getCollectionName() )"

2>、使用load( script_path )方法執行MongoBD shell指令碼。
這種方法載入的是一個jS檔案, 並且是立即執行。

 load"/tmp/db_update.js" // shell命令,載入並執行db_update.js指令碼檔案