MongoDB使用(MongoShell)

來源:互聯網
上載者:User

標籤:

1 概述

mongo shell是MongoDB的一個互動JavaScript介面(就是可以在這個shell中使用JavaScript文法)。使用者能夠通過mongo shell執行查詢、更新資料等操作。mongo shell是MongoDB的一個組件,一旦使用者安裝並且啟動MongoDB服務之後,就能夠通過mongo shell串連到MongoDB執行個體。

1.1 啟動mongo shell

安裝MongoDB之後,將bin檔案夾路徑加入到Path環境變數中,直接在命令視窗中輸入mongo,就啟動了mongo shell。在啟動之前,確保MongoDB服務已經啟動。如果使用者輸入mongo並且不帶任何參數,mongo shell 預設串連到localhost:27017。

mongo       //安裝MongoDB之後,將bin檔案夾路徑加入到Path環境變數中

1.2 使用mongo shell

①顯示使用者正在使用的資料庫(database),輸入db:

db     //這個操作會返回預設的資料庫test,如果需要使用其它資料庫,使用 use<db>
use test

 為了查看可用的資料庫,可以使用命令 show dbs,也可以通過db.getSiblingDB()的方法在不切換當前資料庫內容相關的情況下去訪問另一個資料庫。

show dbsdb.getSiblingDB(arg)   //arg表示資料庫名

使用者也可以通過命令一次性的建立資料庫和儲存資料,例如,以下命令就是建立新資料庫(database)和集合(collection,可以理解為關聯式資料庫中的table)並且執行插入(insert())操作。

use myDBdb.myCollection.insert({x:1})

如果你輸入的collection名字中包括空白,字母開頭等在mongo shell環境下報錯,可以換一種文法擷取所需的集合,命令樣本如下:

db["myCollection"].find()db.getCollection("myCollection").find()

 1.3 格式化輸出結果

在mongo shell環境下,db.collection.find()方法返回一個指向結果集的遊標,如果遊標沒有賦值給一個變數,那麼遊標將會自動枚舉20次並將符合查詢條件的前20條結果(document相當於關聯式資料庫中的記錄)列印出來,輸入it命令之後,將會再列印20條結果。為了能夠將結果格式化,可以添加.pretty()方法:

db.collection.find().pretty()

也可以在mongo shell中輸入一下命令:

print()   只列印,不格式化

print(tojson(<obj>))    JSON格式化的形式,效果等同printjson()

printjson()

 1.4 在mongo shell中多行輸入

當使用者輸完一行之後,並且以(,{,[結尾的時候,下一行自動會出現(...),直到使用者以),},]結尾,mongo shell才會運行使用者輸入的代碼:

 

 1.4 在mongo shell命令自動補全,退出shell

通過tab鍵可以補全一些命令,輸入quit()或者Ctrl-C快速鍵可以退出shell環境。

2 MondoDB資料庫的CRUD(增刪改查)操作

2.1 Documents和Collection概述

 

注(analogous:類似) 

2.2 查詢

 

在Mongo中執行CURD操作,基本上都是對單獨的(single)集合進行操作。

具體操作請參考官方網站文檔:https://docs.mongodb.org/manual/core/crud-introduction/

MongoDB使用(MongoShell)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.