原文出處:https://www.cnblogs.com/--smile/p/11055204.html
直接輸入mongo進入數據庫
查詢操作
查看當前數據庫版本
db.version()
//4.2.2
查詢所有數據庫
show dbs
//admin 0.000GB
//config 0.000GB
//local 0.000GB
- admin: 從權限的角度來看,這是"root"數據庫。要是將一個用戶添加到這個數據庫,這個用戶自動繼承所有數據庫的權限。一些特定的服務器端命令也只能從這個數據庫運行,比如列出所有的數據庫或者關閉服務器。
- local: 這個數據永遠不會被復制,可以用來存儲限於本地單台服務器的任意集合
- config: 當Mongo用於分片設置時,config數據庫在內部使用,用於保存分片的相關信息。
顯示當前數據庫
db
//test
切換指定數據庫
use local
//switched to db local
db
//local
查看smile數據庫當前狀態
db.stats()
//{ "db" : "smile", "collections" : 1, "objects" : 10000, "avgObjSize" : 80, "dataSize" : 800000, "storageSize" : 258048, "numExtents" : 0, "indexes" : 1, "indexSize" : 94208, "ok" : 1 }
查看當前數據庫的連接機器地址
db.getMongo() //connection to 127.0.0.1
創建和刪除數據庫
創建數據庫
use smile;
說明:當use的時候,系統就會自動創建一個數據庫。如果use之后沒有創建任何集合。系統就會刪除這個數據庫。
刪除數據庫
use smile
//switched to db smile
db.dropDatabase()
//{ "dropped" : "smile", "ok" : 1 }
說明:如果沒有選擇任何數據庫,會刪除默認的test數據庫
集合
創建集合
方法一:
db.createCollection('a')//{ "ok" : 1 }
方法二:
db.c.insert({name:'smile'});//當插入一個文檔的時候,一個集合就會自動創建。
查看創建的合集
db.getCollectionNames()//[ "a", "b" ]
查看合集里的內容
db.c.find() //{ "_id" : ObjectId("5a4cbcea83ec78b7bea904f8"), "name" : "smile" } { "_id" : ObjectId("5a4cbcfc83ec78b7bea904f9"), "url" : "http://blog.nmtui.com" }
注:默認每頁顯示20條記錄,當顯示不下的的情況下,可以用it迭代命令查詢下一頁數據。
重命名集合
db.c.renameCollection("smile")// { "ok" : 1 }
刪除合集
db.a.drop() //true
刪除集合中的記錄數
db.log.distinct("name") # 查詢去掉當前集合中某列的重復數據 [ "mongodb" ]
db.log.remove({}) # 刪除集合中所有記錄
查看集合存儲信息
db.log.stats() # 查看數據狀態
db.log.dataSize() # 集合中數據的原始大小
db.log.totalIndexSize() # 集合中索引數據的原始大小
db.log.totalSize() # 集合中索引+數據壓縮存儲之后的大小
db.log.storageSize() # 集合中數據壓縮存儲的大小
pretty()
輸出整齊排布
db.log.find({uid:1000}).pretty()
