當前位置:
首頁 > 科技 > MongoDB初學者最應該學習的十個常用命令

MongoDB初學者最應該學習的十個常用命令

關鍵時刻,第一時間送達!

作者丨Ajitesh Kumar

翻譯丨雁驚寒

摘要:這些命令對任何一個剛開始使用MongoDB的資料庫開發者來說都非常有用。以下是譯文。

本文列出了MongoDB初學者都應該學習的十個最常用的命令。

1. 登陸MongoDB

下面這個命令用於登錄MongoDB資料庫。請確保在資料庫dbname中存在對應用戶的憑據(比如,用戶名和密碼)。

mongo -u -p

--authenticationDatabase

2. 顯示所有的資料庫

一旦用戶以適當的角色登錄到資料庫後,例如 userAdmin 或者 userAdminAnyDatabase,就可以用下面這個命令查看所有的資料庫:

show dbs

3. 選擇工作資料庫

要使用指定的資料庫,請執行以下命令:

use databaseName

4. 身份驗證與登出資料庫

當使用包含dbName的命令切換到另一個資料庫時,則需要使用一個有效的資料庫用戶進行身份驗證。可以使用以下命令進行身份驗證:

//

// 身份驗證

//

db.auth("username", "password");

//

// 登出

//

db.logout()

5. 列出集合、用戶、角色等等

下面幾個命令可用於檢查存在的集合、用戶、角色等等

//

// 列出當前資料庫中所有的集合

//

show collections;

db.getCollectionNames();

//

// 列出當前資料庫中所有的用戶

//

show users;

db.getUsers();

//

// 列出所有的角色

//

show roles

6. 創建集合

下面這個命令可用於創建集合。有關這個命令詳細的使用方法,可參考這裡。

db.createCollection("collectionName");

7. 將文檔插入集合

一旦集合創建完畢,下一步就是向其中插入文檔。下面是將文檔插入集合的一個簡單的示例。

//

// 插入一個簡單的文檔

//

db..insert()

//

// 插入多個文檔

//

db..insert([, ])

db..insertMany([, ])

8. 保存或更新文檔

保存命令根據傳入參數的不同將執行更新現有文檔或插入一個新文檔。如果_id匹配現有的文檔,則更新文檔。否則,將創建一個新文檔。在系統內部,「保存」方法要麼使用插入命令,要麼使用更新命令。

//

// 如果匹配到文檔,則更新;如果沒有找到對應ID的文檔,則插入這個新文檔

//

db..save({"_id": new ObjectId("jhgsdjhgdsf"), field1: "value", field2: "value"});

9. 顯示集合中的記錄

下面這個命令可用於顯示集合中所有的記錄:

//

// 獲取所有的記錄

//

db..find();

//

// 獲取指定數量的記錄;下面這個命令將顯示10條記錄

//

db..find().limit(10);

//

// 根據id獲取記錄

//

db..find({"_id": ObjectId("someid")});

//

// 根據傳入的屬性值獲取指定記錄集

//

db..find({"_id": ObjectId("someid")}, );

db..find({"_id": ObjectId("someid")}, ); // Exclude field1

//

// 集合中記錄的數量

//

db..count();

10. 管理命令

下面是一些管理命令,它們可用於查看集合的詳細信息,例如存儲大小、總的大小和整體統計信息等等。

//

// 獲取集合統計信息

//

db..stats()

db.printCollectionStats()

//

// 讀寫操作延遲的統計,包括平均讀、寫、及其他一些操作的時間

//

db..latencyStats()

//

// Get collection size for data and indexes

//

db..dataSize() // 集合的大小

db..storageSize() // 集合中文檔的總存儲大小

db..totalSize() // 集合及其索引的大小(位元組)

db..totalIndexSize() // 集合中所有索引的大小

就這些了!希望這些命令對於那些剛開始接觸MongoDB的人有所幫助。


點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

為什麼無伺服器更適用於移動開發
55 秒的發布會!「好吃的」奧利奧 Android 8.0 正式發布:更快、更強大、更安全
首席架構師:面向大數據的分散式調度
深度學習在情感分析中的應用
微API設計模式

TAG:CSDN |

您可能感興趣

C與Python,初學者應該如何選擇
想成為一名Web開發者?你應該學習Node.js而不是PHP
想成為一名Web開發者?或許應該學習Node.js而不是PHP
谷歌研究員Francois Chollet:有良知的AI研究人員不應該在Facebook工作
型男標杆應該像Sebastian Stan一樣
經典音樂 《 You Belong With Me ?》你應該和我在一起
Red Velvet朴秀榮JOY新劇收視慘淡,罵聲一片!應該多學學IU
作為廣告人,你應該知道Facebook是不是真的被Cambridge Analytica耍了
應該選擇哪一種筆記本電腦學習編程,MacBook,戴爾還是Linux?
蘋果 CEO:Facebook 應該規範自己的行為
為什麼Python開發者都應該嘗試使用Pipenv?
除了太平鳥,你還應該知道的Made in China
除了太平鳥,你還應該知道的Made in China
三星Galaxy Note 9來了,你應該看不上iPhone X了
為什麼不應該使用Markdown來寫文檔
春天就應該五彩繽紛!Nike 「The 1 Reimagined」 系列新登場
三星 AR Emoji vs.蘋果 Animoji,7個你應該了解的不同之處
真正的雷蛇粉,應該擁有一台 Razer Phone
拿到第一台Mac後,你應該知道什麼1:Mac、macOS 和各種 Store
買不到Virgil Abloh x Air Jordan 1的你,應該考慮這雙灰藍無鞋帶版了!