MongoDB資料庫命令操作

來源:互聯網
上載者:User

上一節我們講解了對於mongodb的一些認識和概念(見  ),那麼接下來就要切實步入mongodb的學習中了。

mongodb不像關係型資料庫有很強大的GUI用戶端,雖然mongodb也有,但功能和穩定性實在不敢恭維,所以操作mongodb我們大部分都是用類似cmd命令的方式(mongodb稱為shell操作)來完成,因此學好mongodb shell操作是非常重要的基礎。

一、準備工作

1、 下載mongoDB

:http://www.mongodb.org/downloads

選擇合適你的版本

相關文檔:http://www.mongodb.org/display/DOCS/Tutorial

2、 安裝mongoDB

A、 不解壓模式:

將下載下來的mongoDB-xxx.zip開啟,找到bin目錄,運行mongod.exe就可以啟動服務,預設連接埠27017,db儲存的路徑是系統C硬碟目錄的根目錄的/data/db目錄。也就是說,如果你的mongoDB-xxx.zip在E盤,那麼你需要在C盤下建立data/db目錄。mongoDB不會幫你建立這個目錄的。

然後運行mongo即可串連到test資料庫,你就可以進行資料操作。運行help顯示協助命令列。

B、 解壓模式

將下載下來的mongoDB-xxx.zip解壓到任意目錄,找到bin目錄,運行mongod.exe就可以啟動mongoDB,預設連接埠27017,db儲存的路徑是當前zip所在硬碟目錄的根目錄的/data/db目錄。也就是說,如果你的mongoDB-xxx.zip在E盤,那麼你需要在E盤下建立data/db目錄。mongoDB不會幫你建立這個目錄的。

然後運行mongo即可串連到test資料庫,你就可以進行資料操作。運行help顯示協助命令列。

3、 簡單測試

  1. > 2+4  
  2. 6  
  3. > db  
  4. test  
  5. > //第一次插入資料會建立資料庫  
  6. Fri May 20 16:47:39 malformed UTF-8 character sequence at offset 27  
  7. error2:(shellhelp1) exec failed: malformed UTF-8 character sequence at offset 27  
  8. > db.foo.insert({id: 2011, userName: 'hoojo', age: 24, email: "hoojo_@126.com"});  
  9. > db.foo.find();  
  10. { "_id" : ObjectId("4dd62b0352a70cbe79e04f81"), "id" : 2011, "userName" : "hoojo",  
  11. "age" : 24, "email" : "hoojo_@126.com" }  
  12. >  

上面完成了簡單運算,顯示當前使用的資料庫,以及添加資料、查詢資料操作

二、DB shell資料操作

shell命令操作文法和JavaScript很類似,其實控制台底層的查詢語句都是用JavaScript指令碼完成操作的。

Ø 資料庫

1、Help查看命令提示

  1. > help  
  2. > db.help();  
  3. > db.yourColl.help();  
  4. > db.youColl.find().help();  
  5. > rs.help();  

2、切換/建立資料庫

  1. > use yourDB;  

當建立一個集合(table)的時候會自動建立當前資料庫

3、查詢所有資料庫

  1. > show dbs;  

4、刪除當前使用資料庫

  1. > db.dropDatabase();  

5、從指定主機上複製資料庫

  1. > db.cloneDatabase(“127.0.0.1”);  

將指定機器上的資料庫的資料複製到當前資料庫

6、從指定的機器上複製指定資料庫資料到某個資料庫

  1. > db.copyDatabase("mydb", "temp", "127.0.0.1");  

將原生mydb的資料複製到temp資料庫中

7、修複當前資料庫

  1. > db.repairDatabase();  

8、查看當前使用的資料庫

  1. > db.getName();  
  2. > db;  

db和getName方法是一樣的效果,都可以查詢當前使用的資料庫

9、顯示當前db狀態

  1. > db.stats();  

10、當前db版本

  1. > db.version();  

11、查看當前db的連結機器地址

  1. > db.getMongo();  

Ø Collection聚集集合

1、建立一個聚集集合(table)

  1. > db.createCollection(“collName”, {size: 20, capped: 5, max: 100});  

2、得到指定名稱的聚集集合(table)

  1. > db.getCollection("account");  

3、得到當前db的所有聚集集合

  1. > db.getCollectionNames();  
4、顯示當前db所有叢集索引的狀態
  1. > db.printCollectionStats();  

Ø 使用者相關

1、添加一個使用者

  1. > db.addUser("name");  
  2. > db.addUser("userName", "pwd123", true);  

添加使用者、設定密碼、是否唯讀

2、資料庫認證、安全模式

  1. > db.auth("userName", "123123");  

3、顯示當前所有使用者

  1. > show users;  

4、刪除使用者

  1. > db.removeUser("userName");  
  • 1
  • 2
  • 3
  • 4
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.