mongodb 學習筆記

1. 登錄MongoDB

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

mongo -u <username> -p <password> --authenticationDatabase <dbname>

2. 顯示全部的數據庫

一旦用戶以適當的角色登陸到數據庫後,例如 userAdmin 或者 userAdminAnyDatabase,就能夠用下面這個命令查看全部的數據庫:數據庫

show dbs

3. 選擇工做數據庫

要使用指定的數據庫,請執行如下命令:ide

use databaseName

4. 身份驗證與登出數據庫

當使用包含dbName的命令切換到另外一個數據庫時,則須要使用一個有效的數據庫用戶進行身份驗證。能夠使用如下命令進行身份驗證:code

//
// 身份驗證
//
db.auth("username", "password");
//
// 登出
//
db.logout()

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

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

//
// 列出當前數據庫中全部的集合
//show collections;db.getCollectionNames();
//
// 列出當前數據庫中全部的用戶
//show users;db.getUsers();
//
// 列出全部的角色
//show roles

6. 建立集合

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

db.createCollection("collectionName");

7. 將文檔插入集合

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

//
// 插入一個簡單的文檔
//
db.<collectionName>.insert({field1: "value", field2: "value"})
//
// 插入多個文檔
//
db.<collectionName>.insert([{field1: "value1"}, {field1: "value2"}])
db.<collectionName>.insertMany([{field1: "value1"}, {field1: "value2"}])

8. 保存或更新文檔

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

//
// 若是匹配到文檔,則更新;若是沒有找到對應ID的文檔,則插入這個新文檔
//
db.<collectionName>.save({"_id": new ObjectId("jhgsdjhgdsf"), field1: "value", field2: "value"});

9. 顯示集合中的記錄

下面這個命令可用於顯示集合中全部的記錄:io

//
// 獲取全部的記錄
//
db.<collectionName>.find();
//
// 獲取指定數量的記錄;下面這個命令將顯示10條記錄
//
db.<collectionName>.find().limit(10);
//
// 根據id獲取記錄
//
db.<collectionName>.find({"_id": ObjectId("someid")});
//
// 根據傳入的屬性值獲取指定記錄集
//
db.<collectionName>.find({"_id": ObjectId("someid")}, {field1: 1, field2: 1});
db.<collectionName>.find({"_id": ObjectId("someid")}, {field1: 0}); // Exclude field1
//
// 集合中記錄的數量
//
db.<collectionName>.count();

10. 管理命令

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

//
// 獲取集合統計信息
//
db.<collectionName>.stats()
db.printCollectionStats()
//
// 讀寫操做延遲的統計,包括平均讀、寫、及其餘一些操做的時間
//
db.<collectionName>.latencyStats()
//
// Get collection size for data and indexes
//
db.<collectionName>.dataSize() // 集合的大小
db.<collectionName>.storageSize() // 集合中文檔的總存儲大小
db.<collectionName>.totalSize() // 集合及其索引的大小(字節)
db.<collectionName>.totalIndexSize() // 集合中全部索引的大小
相關文章
相關標籤/搜索