MongoDB shell 介紹


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方法可將文檔從數據庫中永久刪除,如果沒有使用任何參數,只是一個空對象,比如 db.blog.remove({})這樣的,它會將集合內的所有文檔全部刪除,
它還可以接受一個作為限定條件的文檔作為參數,比如 db.blog.remove({'title': 'xxx'}); 這樣的,這樣就會刪除 title 為 xxx的數據了;

如下所示:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM