MongoDB 初學者最常用的 MongoDB 命令 [2022]
已發表: 2021-01-06目錄
使用 MongoDB 進行日誌記錄
以下命令適用於使用 MongoDB 登錄。
mongo -u <用戶名> -p <密碼> –authenticationDatabase <db_name> |
注意:用戶必須具有正確的憑據和數據庫名稱才能訪問。
創建數據庫並選擇要使用的數據庫
在 MongoDB 中,“ use”命令是創建新數據庫的第一步。
句法:
使用 db_name |
執行時,此命令將為特定名稱創建一個新數據庫。 如果存在具有特定名稱的數據庫,則它將返回現有數據庫。
相同的“使用”命令也用於選擇數據庫並開始使用。

例子:
假設您正在使用數據庫“edudb”開始一個新的教育項目。 那麼命令將是:
>使用教育數據庫 切換到數據庫 edudb |
閱讀: MongoDB 真實世界用例:優勢和頂級公司
檢查當前數據庫
您還可以使用命令 db 檢查當前數據庫,如下所示:
>分貝 教育數據庫 |
您需要在數據庫中至少有一個文件或文檔才能顯示在整個列表中。 您可以輕鬆地使用插入命令來做到這一點。
句法:
> 分貝。 文件. 插入({“名稱”:“類”}) |
顯示所有當前數據庫
您可以使用以下命令通過 show dbs 來檢查當前數據庫:
>顯示數據庫 本地0.53443GB 測試0.12332GB 教育數據庫0.02423GB |
在 MongoDB 中,測試作為默認數據庫存在。 默認情況下,所有集合僅存儲在測試中。
您可以使用 MongoDB 命令界面來管理與非 CRUD 操作相關的任務。 該界面使用戶能夠從服務器獲取精確信息、複製當前場景並運行特定的 map-reduce 任務。
還有一些特定的命令可以在當前和管理數據庫中運行。
對於 MondDB 中的當前數據庫,使用以下 db.runCommand():
db.runCommand( { <command> } ) |
對於 admin 數據庫,使用以下 db.adminCommand():
D b。 adminCommand ( { <command> } ) |
要創建集合,請使用以下命令:
db.createCollection(“collectionName”); |
在集合中插入文檔:
// // 用於在集合中插入單個文檔 // db.<collectionName>.insert({field1: “value”, field2: “value”}) // // 用於在集合中插入多個文檔 // db.<collectionName>.insert([{field1: “value1”}, {field1: “value2”}]) db.<collectionName>.insertMany([{field1: “value1”}, {field1: “value2”}]) |
保存和更新文檔
這裡的“保存”命令可以完成這兩個功能,插入一個全新的文檔或更新一個現有的文檔。
db.<collectionName>.save({“_id”: new ObjectId(“jhgsdjhgdsf”), field1: “value”, field2: “value”}); |
注意:如果有匹配的文檔 ID,則更新; 否則,將創建一個新文檔。
列出用戶、角色和集合
這些命令列出了用戶數量、他們的角色和集合。
// // 命令列出當前數據庫中的所有集合 // 展示收藏; db.getCollectionNames(); // // 命令來自當前數據庫的所有用戶 // 顯示用戶; db.getUsers(); // // 列出所有用戶角色的命令 // 顯示角色 |
顯示集合記錄
// // 檢索所有記錄的命令 // db.<collectionName>.find(); // // 此命令獲取前 10 個結果; // db.<collectionName>.find().limit(10); // // 此命令按 id 檢索記錄 // db.<collectionName>.find({“_id”: ObjectId(“someid”)}); // // 此命令從具有對象的特定集合屬性中獲取值,並分配值為 0 或 1。 // db.<collectionName>.find({“_id”: ObjectId(“someid”)}, {field1: 1, field2: 1}); db.<collectionName>.find({“_id”: ObjectId(“someid”)}, {field1: 0}); // 排除字段1 // // 此命令檢查數據庫中的集合計數 // db.<collectionName>.count();
|
對於管理命令
此命令允許有關集合詳細信息的信息,包括總大小、存儲和多個統計信息。
// // 此命令檢索收集統計信息 // db.<collectionName>.stats() db.printCollectionStats() // // // 此命令檢索讀取和寫入的延遲統計信息以及特定數量的操作 // db.<collectionName>.latencyStats() // // 此命令檢索索引和數據的特定集合大小 // db.<collectionName>.dataSize() // 獲取集合的大小 ![]() db.<collectionName>.storageSize() // 獲取存儲文檔的總大小 db.<collectionName>.totalSize() // 獲取集合數據和索引的總大小(以字節為單位) db.<collectionName>.totalIndexSize() // 獲取集合中所有索引的總大小 |
從數據庫註銷:
db.logout() |
您可以在 MongoDB 中使用不同類型的命令,首先是:
用戶命令
數據庫操作
1. 用戶命令
聚合命令
姓名 | 描述 |
總計的 | 在組中執行聚合任務的命令。 |
數數 | 命令來統計特定的文檔數量。 |
清楚的 | 用於顯示集合中特定鍵的不同值的命令。 |
地圖減少 | 在大型數據集中執行 map-reduce 任務聚合的命令。 |
地理空間命令
姓名 | 描述 |
地理搜索 | 通過 MongoDB haystack 索引函數執行地理空間查詢的命令。 |
查詢和寫操作命令
姓名 | 描述 |
刪除 | 刪除一個或多個文檔的命令。 |
找 | 在視圖中選擇單個或多個文檔的命令。 |
插入 | 在視圖中插入一個或多個文檔的命令。 |
更新 | 更新一個或多個文檔的命令。 |
查詢計劃緩存命令
姓名 | 描述 |
計劃緩存清除 | 從集合中刪除緩存查詢計劃的命令。 |
planCacheClearFilters | 從集合中清除索引過濾器的命令。 |
planCacheListFilters | 列出集合中的索引過濾器的命令。 |
planCacheSetFilter | 從集合中設置索引過濾器的命令。 |
2. 數據庫操作
身份驗證問題
姓名 | 描述 |
認證 | 在驗證用戶名和密碼後啟動經過身份驗證的會話的命令。 |
隨機數 | 生成一次性密碼以進行身份驗證的命令。 |
登出 | 命令終止給定的已驗證會話。 |
用戶管理命令
姓名 | 描述 |
創建用戶 | 創建新用戶的命令。 |
刪除用戶 | 刪除特定用戶的命令。 |
更新用戶 | 更新特定用戶數據的命令。 |
用戶信息 | 從特定的單個或多個用戶檢索信息的命令。 |
角色管理命令
姓名 | 描述 |
創建角色 | 建立特定用戶角色和權限的命令。 |
丟棄角色 | 從數據庫中刪除特定用戶定義角色的命令。 |
更新角色 | 更新特定用戶定義角色的命令。 |
複製命令
姓名 | 描述 |
應用操作 | 使用當前數據集添加 oplog 條目的命令。 |
是大師 | 顯示當前副本集中特定用戶的信息以檢查它是否是主用戶的命令。 |
replSetInitiate | 初始化特定新副本集的命令。 |
分片命令
姓名 | 描述 |
添加分片 | 添加新分片或分片集群的命令。 |
listShards | 返回預配置分片列表的命令。 |
移除碎片 | 從集群中刪除特定分片的命令。 |
會話命令
姓名 | 描述 |
中止事務 | 中止事務的命令。 |
結束會話 | 在超時之前使會話過期的命令。 |
殺死所有會話 | 殺死所有會話的命令 |
刷新會話 | 刷新空閒會話的命令。 |
開始會話 | 命令開始一個新的會話。 |
行政命令
姓名 | 描述 |
乾淨的 | 表示內部命名空間的命令。 |
創建 | 創建集合或特定視圖的命令。 |
降低 | 從當前數據庫中刪除特定集合的命令。 |
重新索引 | 為特定集合重建所有索引的命令。 |
關掉 | 命令關閉 mongos 或 mongod 進程。 |
免費監控命令
姓名 | 描述 |
設置免費監控 | 它允許用戶在運行時啟用或禁用免費監控。 |
審計命令

姓名 | 描述 |
日誌應用消息 | 命令添加或發布帶有當前審核日誌的自定義消息。 |
命令響應
在每次執行命令時,MongoDB 都會檢索具有特定字段的響應:
場地 | 描述 |
好的 | 指示命令是成功 (1) 還是失敗 (0)。 |
操作時間 | 這表示在 MongoDB 中使用 oplog 條目中的時間戳執行操作的特定時間。 如果操作不運行,則不會生成任何 oplog 條目。 然後操作時間返回; local:從最近的條目到 oplog。 對於多數和可線性化的讀取,來自最近通過 oplog 的多數確認條目的時間戳。 |
$clusterTime | 這定義了訂購特定操作的邏輯時間。 |
結帳: MongoDB 中的 CRUD 操作
接下來是什麼?
如果您有興趣了解有關大數據的更多信息,請查看我們的 PG 大數據軟件開發專業文憑課程,該課程專為在職專業人士設計,提供 7 多個案例研究和項目,涵蓋 14 種編程語言和工具,實用的動手操作研討會,超過 400 小時的嚴格學習和頂級公司的就業幫助。
從世界頂級大學在線學習軟件開發課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。
