mongo shell 之 基礎操作
mongo shell 是客戶端訪問mongodb 的一個工具, mongo shell 內建javascript 引擎, 可以在mongo shell 中進行js操作. 筆者使用的mongodb 是3.2.8, 作業系統為ubuntu 16.04LTS.
一 啟動mongo 服務和客戶端連線
mongodb 啟動有很多引數可選,這裡使用最簡單的啟動方式,也不讓其在後臺執行,這樣可以方便地看到客戶段操作對應的日誌資訊,方便學習.
1.1 啟動mongodb 服務指令碼
1.2. 啟動mongodb 客戶段連線指令碼:
二 mongo shell 下的基礎操作:
2.1 資料庫操作
1. 查詢所有庫: show dbs
2. 檢視當前所在資料庫資訊: db.stats()
mongo shell 預設連線後會連線test 庫, mongo shell 中 db 代表當前資料庫, 可通過use 進行切換
3 建立/切換資料庫: use [dbName]
使用use [dbName] 命令時,併為真正建立了此資料庫,只是在資料緩衝池中建立了而已, 只有此資料庫有資料的時候才會真正建立此資料庫.
4. 刪除資料庫: db.dropDatabase()
刪除資料庫時,首先應確保已切換到當前資料庫,否則會報錯
2.2 集合操作
1. 查詢所有集合: show collections
2. 新增集合: 沒有新增的api, 在插入文件的時候,如果沒有集合會自動建立
3. 刪除集合: db.[collection].drop()
2. 3. 文件操作:
1. 插入文件: db.[collection].insert(文件)
mongodb 插入文件的時候,如果不指定_id ,那麼會預設生成一個24個位元組的id 作為主鍵,同時為主鍵建立了索引
2. 查詢文件: db.[collection].find(查詢器,欄位選擇器)
mongoshell 中find 方法預設查詢所有文件的所有欄位,可增加篩選條件和要顯示的欄位列, 預設欄位顯示均為1
3. 更新文件: db.[collection].update({查詢器},{更新器}, 儲存或更新,批量操作)
mongo shell 中的更新方式功能還算是比較靈活的, 如果不適用更新器,那麼為覆蓋式更新
4. 刪除文件: db.[collection].remove({查詢器})
1. 刪除符合條件的所有資料
2. 清空集合
2.4. 幫助:
1. 資料庫api 幫助: db.help()
示例: db.help()
2. 集合api 幫助: db.[collection].help()
示例: db.students.help()
3. 集合方法api 幫助: db.[collection].[method].help()
示例: db.students.find().help()
三 mongo shell 中執行js
mongo shell 其實就相當於是一個javascript 環境,只不過是內建了訪問mongodb 的api 而已