MongoDB客戶端shell基本操作

MongoDB 是一款NoSql數據庫,沒有固定的模式,即同一個集合中的不同文檔結構可以不同,如:第一條記錄{name:”xiaoming”},第二條記錄:{name:”xiaoli”,age:15},這在關係型數據庫中是無法實現的。對於MongoDB,其中:collections即集合相當於關係型數據庫的表,document文檔相當於關係型數據庫中的行。因此也就是說,MongoDB中的表中存儲的數據可以不規定類型等。下面看一下MongoDB自帶shell客戶端的一些基本操作。
先來看一下,如何打開客戶端shell。
如果將MongoDB配置進系統的環境變量,則直接在命令行輸入即可:

mongo

若沒有配置環境變量,則需要在對應目錄中執行命令,如我本機裝在D:\MongoDB,則在命令行輸入下面命令即可:

D:\MongoDB\Server\3.0\bin\mongo

出現如下圖,則正常啓動,並連接test數據庫:

MongoDB客戶端連接成功
下面來看一些簡單的shell操作。

shell基本操作

  • 查看所有的數據庫
show dbs

如圖:查看所有數據庫show dbs

  • 創建一個數據庫
use [database] (注:此時若不做其他操作直接退出,則MongoDB會刪除該數據庫)

如圖:創建數據庫

  • 給指定數據庫添加集合並添加文檔記錄
db.[collectionName].insert({...})

其中:db代表當前數據庫
例如:向sample數據庫中添加集合sample並插入文檔記錄{name:”sample1”}:

db.sample.insert({name:"sample1"})

如圖:添加集合插入文檔記錄

  • 查看數據庫中所有的集合collection
show collections

如圖:
查看所有collections
從圖中可以看出,我們添加了一個集合,插入了一條記錄,數據庫卻有2個集合,通過查看內容,可以看出,system.indexes集合是爲了sample集合添加主鍵_id和索引等,而sample集合是真正我們添加的集合。

  • 查詢指定集合的數據
db.[collection].find()  --查詢全部文檔記錄
db.[collection].findOne()   --查詢第一條文檔記錄

這裏,我們再插入幾條文檔記錄到sample集合中,查詢所有:

db.sample.find()

結果如圖:
查詢全部文檔
查詢第一條文檔:

db.sample.findOne()

結果如圖:
查詢一條文檔記錄

  • 更新文檔數據
db.[collection].update({查詢條件},{$set:{更新內容}})

例如:

db.sample.update({name:"sample3"},{$set:{name:"samplenew"}})

這裏$set相當於一個設置器,更新器的存在,更新及查詢結果如下圖:
更新文檔數據

  • 刪除集合中的數據
db.[collection].remove({刪除條件})

如:

 db.sample.remove({age:25})

刪除結果如圖:
刪除文檔數據

  • 刪除數據庫中的集合
db.[collection].drop()

我們來刪除sample集合:

db.sample.drop()

刪除集合

  • 刪除數據庫
db.dropDatabase()

刪除數據

MongoDB的客戶端shell基本操作就介紹這些,更多的命令可以查看MongoDB官方文檔或者shell的help。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章