日期:2014-05-16  浏览次数:20428 次

mongodb相关操作命令

查询所有数据库列表?>?show?dbs
如果想查看当前连接在哪个数据库下面,可以直接输入db?>?db
Admin想切换到test数据库下面?>?use?test?switched?to?db?test
>?db
Test想查看test下有哪些表或者叫collection,可以输入?>?show?collections?system.indexes
user想知道mongodb支持哪些命令,可以直接输入help?>?help?HELP
??????show?dbs?show?database?names
??????show?collections???show?collections?in?current?database
??????show?usersshow?users?in?current?database
??????show?profile???????show?most?recent?system.profile?entries?with?time?>=?1ms???????use?<db?name>??????set?curent?database?to?<db?name>???????db.help()help?on?DB?methods
??????db.foo.help()??????help?on?collection?methods???????db.foo.find()??????list?objects?in?collection?foo
??????db.foo.find(?{?a?:?1?}?)?????list?objects?in?foo?where?a?==?1
??????it???????result?of?the?last?line?evaluated;?use?to?further?iterate如果想知道当前数据库支持哪些方法:?>?db.help();
DB?methods:
??????db.addUser(username,?password)?添加数据库授权用户???????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.currentOp()?displays?the?current?operation?in?the?db???????db.dropDatabase()????????删除当前数据库
??????db.eval_r(func,?args)?run?code?server-side
??????db.getCollection(cname)?same?as?db['cname']?or?db.cname???????db.getCollectionNames()????????获取当前数据库的表名???????db.getLastError()?-?just?returns?the?err?msg?string???????db.getLastErrorObj()?-?return?full?status?object???????db.getMongo()?get?the?server?connection?object
??????db.getMongo().setSlaveOk()?allow?this?connection?to?read?from?the?nonmaster?member?of?a?replica?pair???????db.getName()???????db.getPrevError()???????db.getProfilingLevel()???????db.getReplicationInfo()
??????db.getSisterDB(name)?get?the?db?at?the?same?server?as?this?onew???????db.killOp()?kills?the?current?operation?in?the?db
??????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.setProfilingLevel(level)?0=off?1=slow?2=all???????db.shutdownServer()
??????db.version()?current?version?of?the?server
如果想知道当前数据库下的表或者表collection支持哪些方法,可以使用一下命令如:?>?db.user.help();??user为表名
DBCollection?help
??????db.foo.count()??????统计表的行数
??????db.foo.dataSize()????????统计表数据的大小
??????db.foo.distinct(?key?)?-?eg.?db.foo.distinct(?'x'?)??????按照给定的条件除重???????db.foo.drop()?drop?the?collection?删除表
??????db.foo.dropIndex(name)??删除指定索引???????db.foo.dropIndexes()?删除所有索引
??????db.foo.ensureIndex(keypattern,options)?-?options?should?be?an?object?with?these?possible?fields:?name,?unique,?dropDups??增加索引
??????db.foo.find(?[query]?,?[fields])?-?first?parameter?is?an?optional?query?filter.?second?parameter?is?optional?set?of?fields?to?return.?根据条件查找数据
-----------------------
通过条件查询:?db.foo.find(?{?x?:?77?}?,?{?name?:?1?,?x?:?1?}?)?-----------------------------
??????db.foo.find(...).count()
??????db.foo.find(...).limit(n)?根据条件查找数据并返回指定记录数???????db.foo.find(...).skip(n)
??????db.foo.find(...).sort(...)?查找排序
??????db.foo.findOne([query])?根据条件查询只查询一条数据
??????db.foo.getDB()?get?DB?object?associated?with?collection??返回表所属的库???????db.foo.getIndexes()?显示表的所有索引
??????db.foo.group(?{?key?:?...,?initial:?...,?reduce?:?...[,?cond:?...]?}?)?根据条件分组???????db.foo.mapReduce(?mapFunction?,?reduceFunction?,?<optional?params>?)???????db.foo.remove(query)?根据条件删除数