1. 程式人生 > >mongodb檢視資料庫和表的資訊

mongodb檢視資料庫和表的資訊

mongodb檢視資料庫和表的方法比較簡單,在為這裡推薦使用stats的方法,直觀並且詳細。

1、檢視資料庫

    db.stats();

輸出:

{
    "db" : "sirius",
    "collections" : 3,
    "objects" : 5,
    "avgObjSize" : 55.2,
    "dataSize" : 276,
    "storageSize" : 16384,
    "numExtents" : 3,
    "indexes" : 1,
    "indexSize" : 8176,
    "fileSize
" : 50331648, "nsSizeMB" : 16, "ok" : 1 }

2、檢視資料庫表

 db.sirius.stats();

輸出:

{
    "ns" : "sirius.sirius",
    "size" : 84,
    "count" : 2,
    "avgObjSize" : 42,
    "storageSize" : 36864,
    "capped" : false,
    "wiredTiger" : {...},
    "nindexes" : 1,
    "totalIndexSize" : 36864,
    "indexSizes
" : { "_id_" : 36864 }, "ok" : 1 }

3、db的幫助文件

db.help();

輸出:

db.adminCommand(nameOrDocument)// 切換到'admin'資料庫,並且執行命令
db.AddUser(username,password[, readOnly=false])  //新增使用者  
db.auth(usrename,password)     // 設定資料庫連線驗證  
db.cloneDataBase(fromhost)     // 從目標伺服器克隆一個數據庫  
db.commandHelp(name)           // returns the help for the command  
db.copyDatabase(fromdb,todb,fromhost) // 複製資料庫fromdb---源資料庫名稱,todb---目標資料庫名稱,fromhost---源資料庫伺服器地址 db.createCollection(name,{size:3333,capped:333,max:88888}) // 建立一個數據集,相當於一個表 db.createView(name, viewOn, [ { $operator: {...}}, ... ], { viewOptions } ) // 建立檢視 db.createUser(userDocument) // 建立使用者 db.currentOp() // 取消當前庫的當前操作 db.dropDataBase() // 刪除當前資料庫 db.eval(func,args) // (已過時) run code server-side db.fsyncLock() // 將資料儲存到硬碟並且鎖定伺服器備份 db.fsyncUnlock() unlocks server following a db.fsyncLock() db.getCollection(cname) // 取得一個數據集合,同用法:db['cname'] or db.cname db.getCollenctionNames() // 取得所有資料集合的名稱列表 db.getLastError() // 返回最後一個錯誤的提示訊息 db.getLastErrorObj() // 返回最後一個錯誤的物件 db.getLogComponents() db.getMongo() // 取得當前伺服器的連線物件get the server db.getMondo().setSlaveOk() // allow this connection to read from then nonmaster membr of a replica pair db.getName() // 返回當操作資料庫的名稱 db.getPrevError() // 返回上一個錯誤物件 db.getProfilingLevel() // 獲取profile level db.getReplicationInfo() // 獲得重複的資料 db.getSisterDB(name) // get the db at the same server as this onew db.killOp() // 停止(殺死)在當前庫的當前操作 db.listCommands() // lists all the db commands db.loadServerScripts() // loads all the scripts in db.system.js db.logout() db.printCollectionStats() // 返回當前庫的資料集狀態 db.printReplicationInfo() // 列印主資料庫的複製狀態資訊 db.printSlaveReplicationInfo() // 列印從資料庫的複製狀態資訊 db.printShardingStatus() // 返回當前資料庫是否為共享資料庫 db.removeUser(username) // 刪除使用者 db.repairDatabase() // 修復當前資料庫 db.resetError() db.runCommand(cmdObj) // run a database command. if cmdObj is a string, turns it into {cmdObj:1} db.runCommand(cmdObj) // run a database command. if cmdObj is a string, turns it into { cmdObj : 1 } db.serverStatus() db.setLogLevel(level, <component>) db.setProfilingLevel(level, <slowms>) // 設定profile level 0=off,1=slow,2=all db.setWriteConcern( <write concern doc> ) // sets the write concern for writes to the db db.unsetWriteConcern( <write concern doc> ) // unsets the write concern for writes to the db db.setVerboseShell(flag) // display extra information in shell output db.shutdownServer() // 關閉當前服務程式 db.stats() // 返回當前資料庫的狀態資訊 db.version() // 返回當前程式的版本資訊

4、表的幫助

db.tableName.help();

輸出:

db.test.find({id:10})          // 返回test資料集ID=10的資料集  
db.test.find({id:10}).count()  // 返回test資料集ID=10的資料總數  
db.test.find({id:10}).limit(2) // 返回test資料集ID=10的資料集從第二條開始的資料集  
db.test.find({id:10}).skip(8)  // 返回test資料集ID=10的資料集從0到第八條的資料集  
db.test.find({id:10}).limit(2).skip(8)  // 返回test資料集ID=1=的資料集從第二條到第八條的資料  
db.test.find({id:10}).sort()   // 返回test資料集ID=10的排序資料集  
db.test.findOne([query])       // 返回符合條件的一條資料  
db.test.getDB()                // 返回此資料集所屬的資料庫名稱  
db.test.getIndexes()           // 返回些資料集的索引資訊  
db.test.group({key:...,initial:...,reduce:...[,cond:...]})    // 返回分組資訊  
db.test.mapReduce(mayFunction,reduceFunction,<optional params>)  // 這個有點像儲存過程  
db.test.remove(query)                      // 在資料集中刪除一條資料  
db.test.renameCollection(newName)          // 重新命名些資料集名稱  
db.test.save(obj)                          // 往資料集中插入一條資料  
db.test.stats()                            // 返回此資料集的狀態  
db.test.storageSize()                      // 返回此資料集的儲存大小  
db.test.totalIndexSize()                   // 返回此資料集的索引檔案大小  
db.test.totalSize()                        // 返回些資料集的總大小  
db.test.update(query,object[,upsert_bool]) // 在此資料集中更新一條資料  
db.test.validate()                         // 驗證此資料集  
db.test.getShardVersion()                  // 返回資料集共享版本號  

參考文章