使用mongo shell遠程鏈接數據庫

本文主要介紹一下如何使用mongo shell鏈接遠程數據庫linux

install

curl -o mongodb-linux-x86_64-3.2.4.tgz https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.4.tgz
tar -xvf mongodb-linux-x86_64-3.2.4.tgz
這個裏頭的bin就包含了mongo

shell

mongo mydb --username user1  --host 192.168.99.100 --port 27017 --password
--password後面不傳參數,則會在命令行提示輸入

查看空間佔用

mydb:PRIMARY> db.stats()
{
    "db" : "mydb",
    "collections" : 7,
    "objects" : 5762090,
    "avgObjSize" : 437.28749533589377,
    "dataSize" : 2519689904,  //全部數據的總大小
    "storageSize" : 1816985600,  //全部數據佔的磁盤大小
    "numExtents" : 0,
    "indexes" : 10,
    "indexSize" : 84381696,
    "ok" : 1
}
db.stats(1073741824);以G爲單位
db.stats(1024)以kb爲單位

查看集合

db.getCollectionNames()

查詢

mydb:PRIMARY> db.mylog.find({"user_id":"12345"}).count()

help

mydb:PRIMARY> db.help()
DB methods:
    db.adminCommand(nameOrDocument) - switches to 'admin' db, and runs command [ just calls db.runCommand(...) ]
    db.auth(username, password)
    db.cloneDatabase(fromhost)
    db.commandHelp(name) returns the help for the command
    db.copyDatabase(fromdb, todb, fromhost)
    db.createCollection(name, { size : ..., capped : ..., max : ... } )
    db.createUser(userDocument)
    db.currentOp() displays currently executing operations in the db
    db.dropDatabase()
    db.eval() - deprecated
    db.fsyncLock() flush data to disk and lock server for backups
    db.fsyncUnlock() unlocks server following a db.fsyncLock()
    db.getCollection(cname) same as db['cname'] or db.cname
    db.getCollectionInfos([filter]) - returns a list that contains the names and options of the db's collections
    db.getCollectionNames()
    db.getLastError() - just returns the err msg string
    db.getLastErrorObj() - return full status object
    db.getLogComponents()
    db.getMongo() get the server connection object
    db.getMongo().setSlaveOk() allow queries on a replication slave server
    db.getName()
    db.getPrevError()
    db.getProfilingLevel() - deprecated
    db.getProfilingStatus() - returns if profiling is on and slow threshold
    db.getReplicationInfo()
    db.getSiblingDB(name) get the db at the same server as this one
    db.getWriteConcern() - returns the write concern used for any operations on this db, inherited from server object if set
    db.hostInfo() get details about the server's host
    db.isMaster() check replica primary status
    db.killOp(opid) kills the current operation in the db
    db.listCommands() lists all the db commands
    db.loadServerScripts() loads all the scripts in db.system.js
    db.logout()
    db.printCollectionStats()
    db.printReplicationInfo()
    db.printShardingStatus()
    db.printSlaveReplicationInfo()
    db.dropUser(username)
    db.repairDatabase()
    db.resetError()
    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>) 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() current version of the server

doc

相關文章
相關標籤/搜索