MongoDB shell 介紹

來源:互聯網
上載者:User

標籤:查詢   文法   back   沒有   3.3   賦值   發布   mongo   刪除   

MongoDB shell 介紹

MongoDB內建javascript shell, 可在shell中使用命令列與MongoDB實列互動。shell可以執行管理操作,檢查運行實列等等操作。

一:如何運行shell?
在命令列中,運行mongo, 就可以啟動shell,如下命令:

注意:啟動時,shell將自動連接MongoDB伺服器,必須確保mongod已經啟動。

shell是一個功能完備的javascript解析器,可以運行任意的javascript程式。我們請看如下幾個簡單的demo。

它還可以定義和調用Javascript函數,如下代碼命令:

二:MongoDB用戶端
運行命令 mongo後,shell會連到 MongoDB伺服器的test資料庫,並將資料庫的連結賦值給全域變數db。
注意:db這個變數是通過shell訪問MongoDB的主要進入點。

如果現在我們想要查看db當前指向那個資料庫,可以使用db命令,如下所示:

shell還包含一些非Javascript文法的擴充,比如選擇資料庫操作這些~ 如下代碼:

如果現在查看db變數,會發現其正指向foobar資料庫,如下命令:

如上,通過db變數,可以訪問其中的集合,比如,通過db.foobar 可返回當前資料庫的foobar集合。這意味著,幾乎所有的資料庫操作都可以通過shell完成。

三:shell中建立,讀取,更新,刪除操作。
3.1 建立 insert
insert函數可以將一個文檔添加到集合中,比如部落格的列子,我們建立一個叫post的局部變數,用於表示我們的文檔,它會有幾個key,分別為 title, content,
和 date(發布日期),如下:

如上,我們使用insert方法將其儲存到blog集合中,然後我們調用集合的find方法來查詢資料,可以看到資料被查詢出來了。我們再來看看如下:

db是指向foobar, db.blog 就是指向了 foobar.blog了;

3.2 讀取find和findOne
find和findOne方法可以用於查詢集合裡的文檔,比如想查看一個文檔,可以使用findOne; 如下所示:

3.3 更新update。
我們可以使用update來更新資料,update至少接收二個參數,第一個是限定條件(用於匹配待更新的文檔)。第二個是新的文檔。
比如我們之前的post集合,現在想添加一個新key的話,比如增加 comments鍵,用於對之前寫的部落格增加評論功能。那麼評論功能肯定是一個數組,因為有多條資料,我們可以看如下所示:

如上命令,先使用 post.comments = []; 向post集合中增加 comments屬性,然後我們使用 db.blog.find() 先查詢下blog集合,發現先沒有comments變數,
然後使用 db.blog.update({title: ‘this is blog‘}, post); 更新資料,第一個參數是匹配到那一條資料,第二個參數是更新後的資料。最後使用db.blog.find()方法查詢後,探索資料更新了。

3.4 刪除remove
使用remove方法可將文檔從資料庫中永久刪除,如果沒有使用任何參數,只是一個Null 物件,比如 db.blog.remove({})這樣的,它會將集合內的所有文檔全部刪除,
它還可以接受一個作為限定條件的文檔作為參數,比如 db.blog.remove({‘title‘: ‘xxx‘}); 這樣的,這樣就會刪除 title 為 xxx的資料了;

如下所示:

MongoDB shell 介紹

聯繫我們

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