MongoDB常用命令


MongoDB的基本操作

Mongodb中關鍵字種類:

db(數據庫實例級別)

         db本身

             db.connection 數據庫下的集合信息

                 db.collection.xxx(

rs(復制集級別)

 

sh(分片級別)

rs.status() #副本集狀態,一個primary,其它SECONDARY。primary是主,只有primary能寫入,從庫無法插入數據

rs.config() ##獲取配置

rs.slaveOk() #SECONDARY需要聲明是slave才能查看數據

 

查詢操作

在客戶端指定數據庫進行連接:(默認連接本機test數據庫)

[mongod@MongoDB ~]$ mongo 10.0.0.152/admin MongoDB shell version: 3.2.8 connecting to: 10.0.0.152/admin

> db admin

查看當前數據庫版本

> db.version()

 

切換數據庫

> use test; switched to db test

顯示當前數據庫

> db test > db.getName() test

查詢所有數據庫

> show dbs; smile 0.000GB local 0.000GB test 0.000GB > show databases; smile 0.000GB local 0.000GB test 0.000GB

查看smile數據庫當前狀態

> use 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

1.5.2 數據管理

創建數據庫

> use smile;

說明:

創建數據庫:

use的時候,系統就會自動創建一個數據庫。

如果use之后沒有創建任何集合。系統就會刪除這個數據庫。

刪除數據庫

> show dbs; smile 0.000GB local 0.000GB test 0.000GB

> use smile switched to db smile

> db.dropDatabase() { "dropped" : "smile", "ok" : 1 }

說明:

刪除數據庫:

   如果沒有選擇任何數據庫,會刪除默認的test數據庫

創建集合

   方法一:

> use smile; switched to db smile

> db.createCollection('a') { "ok" : 1 }

> db.createCollection('b') { "ok" : 1 }

   查看當前數據下的所有集合

> show collections; a b

> db.getCollectionNames() [ "a", "b" ]

方法二:

  當插入一個文檔的時候,一個集合就會自動創建。

> use smile; switched to db smile

> db.c.insert({name:'smile'}); WriteResult({ "nInserted" : 1 })

> db.c.insert({url:'http://blog.nmtui.com'}); WriteResult({ "nInserted" : 1 })

   查看創建的合集

> db.getCollectionNames() [ "a", "b", "c" ]

   查看合集里的內容

> db.c.find() { "_id" : ObjectId("5a4cbcea83ec78b7bea904f8"), "name" : "smile" } { "_id" : ObjectId("5a4cbcfc83ec78b7bea904f9"), "url" : "http://blog.nmtui.com" }

重命名集合

> db.c.renameCollection("smile") { "ok" : 1 }

> db.getCollectionNames() [ "a", "b", "smile" ]

   刪除合集

> db.a.drop() true

> db.getCollectionNames() [ "b", "smile" ]

   插入1w行數據

> for(i=0;i<10000;i++){ db.log.insert({"uid":i,"name":"mongodb","age":6,"date":new Date()}); } WriteResult({ "nInserted" : 1 })

查詢集合中的查詢所有記錄

> db.log.find()

注:默認每頁顯示20條記錄,當顯示不下的的情況下,可以用it迭代命令查詢下一頁數據。

> DBQuery.shellBatchSize=50; # 每頁顯示50條記錄 50 app> db.log.findOne() # 查看第1條記錄 app> db.log.count() # 查詢總的記錄數 app> db.log.find({uid:1000}); # 查詢UUID1000的數據

刪除集合中的記錄數

> db.log.distinct("name") # 查詢去掉當前集合中某列的重復數據 [ "mongodb" ]

> db.log.remove({}) # 刪除集合中所有記錄

WriteResult({ "nRemoved" : }) > db.log.distinct("name"10000) [ ]

查看集合存儲信息

> db.log.stats() # 查看數據狀態

> db.log.dataSize() # 集合中數據的原始大小

> db.log.totalIndexSize() # 集合中索引數據的原始大小

> db.log.totalSize() # 集合中索引+數據壓縮存儲之后的大小

> db.log.storageSize() # 集合中數據壓縮存儲的大小

pretty()使用

> db.log.find({uid:1000}).pretty() { "_id" : ObjectId("5a4c5c0bdf067ab57602f7c2"), "uid" : 1000, "name" : "mongodb", "age" : 6, "date" : ISODate("2018-01-03T04:28:59.343Z") }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM