mongodb基本命令

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

MongoDB基本管理命令MongoDB是一个NoSQL数据库系统:一个数据库可以包含多个集合(Collection),每个集合对应于关系数据库中的表;而每个集合中可以存储一组由列标识的记录,列是可以自由定义的,非常灵活,由一组列标识的实体的集合对应于关系数据库表中的行。下面通过熟悉MongoDB的基本管理命令,来了解MongoDB提供的DBMS的基本功能和行为。MongoDB命令帮助系统在安装MongoDB后,启动服务器进程(mongod),可以通过在客户端命令mongo实现对MongoDB的管理和监控。看一下MongoDB的命令帮助系统:[plain]viewplaincopyroot@dev2:~#mongoMongoDBshellversion:1.8.3connectingto:testhelpdb.help()helpondbmethodsdb.mycoll.help()helponcollectionmethodsrs.help()helponreplicasetmethodshelpconnectconnectingtoadbhelphelpadminadministrativehelphelpmiscmiscthingstoknowhelpmrmapreducehelpshowdbsshowdatabasenamesshowcollectionsshowcollectionsincurrentdatabaseshowusersshowusersincurrentdatabaseshowprofileshowmostrecentsystem.profileentrieswithtime=1msusedb_namesetcurrentdatabasedb.foo.find()listobjectsincollectionfoodb.foo.find({a:1})listobjectsinfoowherea==1itresultofthelastlineevaluated;usetofurtheriterateDBQuery.shellBatchSize=xsetdefaultnumberofitemstodisplayonshellexitquitthemongoshell这是MongoDB最顶层的命令列表,主要告诉我们管理数据库相关的一些抽象的范畴:数据库操作帮助、集合操作帮助、管理帮助。如果你想了解数据库操作更详细的帮助命令,可以直接使用db.help(),如下所示:[plain]viewplaincopydb.help()DBmethods:db.addUser(username,password[,readOnly=false])db.auth(username,password)db.cloneDatabase(fromhost)db.commandHelp(name)returnsthehelpforthecommanddb.copyDatabase(fromdb,todb,fromhost)db.createCollection(name,{size:...,capped:...,max:...})db.currentOp()displaysthecurrentoperationinthedbdb.dropDatabase()db.eval(func,args)runcodeserver-sidedb.getCollection(cname)sameasdb['cname']ordb.cnamedb.getCollectionNames()db.getLastError()-justreturnstheerrmsgstringdb.getLastErrorObj()-returnfullstatusobjectdb.getMongo()gettheserverconnectionobjectdb.getMongo().setSlaveOk()allowthisconnectiontoreadfromthenonmastermemberofareplicapairdb.getName()db.getPrevError()db.getProfilingLevel()-deprecateddb.getProfilingStatus()-returnsifprofilingisonandslowthresholddb.getReplicationInfo()db.getSiblingDB(name)getthedbatthesameserverasthisonedb.isMaster()checkreplicaprimarystatusdb.killOp(opid)killsthecurrentoperationinthedbdb.listCommands()listsallthedbcommandsdb.printCollectionStats()db.printReplicationInfo()db.printSlaveReplicationInfo()db.printShardingStatus()db.removeUser(username)db.repairDatabase()db.resetError()db.runCommand(cmdObj)runadatabasecommand.ifcmdObjisastring,turnsitinto{cmdObj:1}db.serverStatus()db.setProfilingLevel(level,slowms)0=off1=slow2=alldb.shutdownServer()db.stats()db.version()currentversionoftheserverdb.getMongo().setSlaveOk()allowqueriesonareplicationslaveserver对数据库进行管理和操作的基本命令,可以从上面获取到。如果想要得到更多,而且每个命令的详细用法,可以使用上面列出的db.listCommands()查询。另一个比较基础的是对指定数据库的集合进行操作、管理和监控,可以通过查询db.mycoll.help()获取到:[plain]viewplaincopydb.mycoll.help()DBCollectionhelpdb.mycoll.find().help()-showDBCursorhelpdb.mycoll.count()db.mycoll.dataSize()db.mycoll.distinct(key)-eg.db.mycoll.distinct('x')db.mycoll.drop()dropthecollectiondb.mycoll.dropIndex(name)db.mycoll.dropIndexes()db.mycoll.ensureIndex(keypattern[,options])-optionsisanobjectwiththesepossiblefields:name,unique,dropDupsdb.mycoll.reIndex()db.mycoll.find([query],[fields])-queryisanoptionalqueryfilter.fieldsisoptionalsetoffieldstoreturn.e.g.db.mycoll.find({x:77},{name:1,x:1})db.mycoll.find(...).count()db.mycoll.find(...).limit(n)db.mycoll.find(...).skip(n)db.mycoll.find(...).sort(...)db.mycoll.findOne([query])db.mycoll.findAndModify({update:...,remove:bool[,query:{},sort:{},'new':false]})db.mycoll.getDB()getDBobjectassociatedwithcollectiondb.mycoll.getIndexes()db.mycoll.group({key:...,initial:...,reduce:...[,cond:...]})db.mycoll.mapReduce(mapFunction,reduceFunction,optionalparams)db.mycoll.remove(query)db.mycoll.renameCollection(newName,dropTarget)renamesthecollection.db.mycoll.runCommand(name,options)runsadbcommandwiththegivennamewherethefirstparamisthecollectionnamedb.mycoll.save(obj)db.mycoll.stats()db.mycoll.storageSize()-includesfreespaceallocatedtothiscollectiondb.mycoll.totalIndexSize()-sizeinbytesofalltheindexesdb.mycoll.totalSize()-storageallocatedforalldataandindexesdb.mycoll.update(query,object[,upsert_bool,multi_bool])db.mycoll.validate()-SLOWdb.mycoll.getShardVersion()-onlyforusewithsharding有关数据库和集合管理的相关命令,是最基础和最常用的,如集合查询、索引操作等。基本命令及实例下面通过实际的例子来演示一些常见的命令:(一)基本命令1、showdbs显示当前数据库服务器上的数据库2、usepagedb切换到指定数据库pagedb的上下文,可以在此上下文中管理pagedb数据库以及其中的集合等3、showcollections显示数据库中所有的集合(collection)4、db.serverStatus()查看数据库服务器的状态。示例如下所示:[plain]viewplaincopy{host:dev2,version:1.8.3,process:mongod,uptime:845446,uptimeEstimate:839192,localTime:ISODate(2011-12-27T04:03:12.512Z),globalLock:{totalTime:845445636925,lockTime:13630973982,ratio:0.016122827283818857,currentQueue:{total:0,readers:0,writers:0},activeClients:{total:0,readers:0,writers:0}},mem:{bits:64,resident:12208,virtual:466785,supported:true,mapped:466139},connections:{current:27,available:792},extra_info:{note:fieldsvarybyplatform,heap_usage_bytes:70895216,page_faults:17213898},indexCounters:{btree:{accesses:4466653,hits:4465526,misses:1127,resets:0,missRatio:0.00025231420484197006}},backgroundFlushing:{flushes:14090,total_ms:15204393,av

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功