網站首頁 編程語言 正文
MongoDB Shell
MongoDB Shell 是一個功能齊全的 JS 和 Node.js 的REPL環境,用于與 MongoDB 服務器進行交互,是一個 shell 環境的客戶端工具。
本文介紹一些 MongoDB Shell 的常用操作。
連接數據庫
使用 mongosh
命令:
$ mongosh
如果開啟了身份驗證,則需要輸入用戶名和密碼:
$ mongosh -u root -p 123456
庫(database)的操作
查看所有數據庫
$ show databases;
或者使用別名:
$ show dbs;
MongoDB 安裝好后會有3個默認的數據庫(保留庫):
- admin:存儲 MongoDB 管理用戶的有關信息
- config:當 MongoDB 用于分片設置時,config 數據庫在內部使用,用于保存和分片有關的信息
- local:這個數據庫永遠不會被復制,可以用來存儲本地單臺服務器的任意集合
有數據存儲需要時,不建議使用這三個數據庫。
當設置了副本集,一個數據庫中的數據會被復制到其他副本中,而 local 庫的數據僅存儲于當前這臺服務器,不會被復制。
從權限的角度看,admin 庫是 root 數據庫。如果將某個用戶添加到 admin 數據庫中,則該用戶會自動繼承所有數據庫的權限。
一些特定的服務器端命令也只能在 admin 數據庫中執行,比如關閉MongoDB 服務:
use admin; db.shutdownServer();
h3>切換/創建數據庫
使用 use <db_name>
命令,比如:
use test;
如果存在 test 庫,則切換到該庫;如不存在,將創建并切換到該庫。此時再查看數據庫,發現并沒有剛創建的庫。這是因為在 MongoDB 中,如果一個庫沒有任何數據,默認該庫是不顯示的。
test 庫
連接到 MongoDB 時,默認使用的是 test 庫。
test 庫默認也是空的,所以也不會被展示出來。
查看當前數據庫
db;
刪除數據庫
db.dropDatabase();
集合的基本操作
集合(collection)類似于關系型數據中表的概念。
集合的操作是建立在庫之上的,所以先創建一個新的數據庫:
use examples;
創建集合
使用 db.createCollection(集合名稱, [選項])
創建集合。
創建用戶集合:
db.createCollection('users')
可選的配置項:
配置項 | 類型 | 描述 |
---|---|---|
capped | boolean | 是否創建固定集合,也就是固定大小的集合。默認為 false。當設置true時,需要指定 size 配置項。當超過最大值時,新的數據會覆蓋掉最早的數據。 |
size | number | 設置固定集合的最大值,單位是字節。 |
max | number | 設置固定集合中包含文檔的最大數據。 |
這些配置項很少用到,在創建集合時根據需要選用即可。
查看集合
$ show collections;
或者:
$ show tables;
刪除集合
db.集合名稱.drop();
db.users.drop();
其他 Shell 命令
清屏
cls;
退出 shell
exit;
或者
quit();
或者直接使用快捷鍵 Ctrl + C。
小結
本文介紹了 MongoDB Shell 的一些常用操作,在做一些簡單的運維工作,調試工作時,會非常有效。
原文鏈接:https://juejin.cn/post/7173307195625308173
相關推薦
- 2022-05-28 C++?數據結構超詳細講解單鏈表_C 語言
- 2022-08-31 C語言數據的存儲專項分析_C 語言
- 2022-05-06 詳解go語言中sort如何排序_Golang
- 2022-11-30 Golang底層原理解析String使用實例_Golang
- 2023-02-02 C語言求素數的幾種方式總結_C 語言
- 2022-10-14 composer -vvv 命令
- 2022-07-12 git如何上傳本地項目
- 2022-07-08 教你利用python的matplotlib(pyplot)繪制折線圖和柱狀圖_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支