標籤:查詢 文法 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 介紹