首页 > mongodb > basic > 6.mongo命令提示符帮助

6.mongo命令提示符帮助

1 mongo命令行参数帮助

通过--help参数显示命令行帮助信息

mongo --help

显示:

MongoDB shell version: 2.0.4
usage: mongo [options] [db address] [file names (ending in .js)]
db address can be:
  foo                   foo database on local machine
  192.169.0.5/foo       foo database on 192.168.0.5 machine
  192.169.0.5:9999/foo  foo database on 192.168.0.5 machine on port 9999
options:
  --shell               run the shell after executing files
  --nodb                don't connect to mongod on startup - no 'db address'
                        arg expected
  --norc                开始不执行".mongorc.js"文件
  --quiet               安静模式
  --port arg            端口
  --host arg            IP
  --eval arg            运行javascript脚本
  -u [ --username ] arg 用户名
  -p [ --password ] arg 密码
  -h [ --help ]         显示这个帮助信息
  --version             版本号
  --verbose             increase verbosity
  --ipv6                开启IPv6支持(默认关闭)

2 mongo指令帮助

通过命令提示符连上mongo数据库后,可以输入help来显示命令提示符帮助.

help

会显示:

db.help()                    数据库方法帮助信息
db.mycoll.help()             集合方法帮助信息
rs.help()                    help on replica set methods
help admin                   管理员帮助信息
help connect                 连接数据库帮助
help keys                    快捷键
help misc                    杂项信息帮助
help mr                      mapreduce帮助

show dbs                     显示全部数据库名
show collections             显示当前数据库中的全部集合名
show users                   显示当前数据库的全部用户
show profile                 show most recent system.profile entries with time >= 1ms
show logs                    显示可以连接的日志(`logger`)名
show log [name]              输出内存中的最近log的片段, 默认输出`global`
use <db_name>                设定当前数据库
db.foo.find()                显示集合`foo`中的对象列表
db.foo.find( { a : 1 } )     查询foo集合中`a == 1`的对象
it                           输入it, 继续迭代显示结果, 输出更多结果
DBQuery.shellBatchSize = x   设置显示结果条数
exit                         退出命令行

3 数据库帮助

3.1 显示全部数据库

show dbs

3.2 显示部数据操作帮助

db.help()

3.3 显示方法的实现

显示一个数据的方法的具体实现,输入db.<method name>不带(). 例如:

db.updateUser

显示:

test.updateUser

4 集合帮助

4.1 显示全部集合

show collections

4.2 显示集合帮助

db.collection.help()

显示

db.collection.find().help() - show DBCursor help
db.collection.count()
db.collection.dataSize()
db.collection.distinct( key ) - eg. db.collection.distinct( 'x' )
db.collection.drop() drop the collection
db.collection.dropIndex(name)
db.collection.dropIndexes()
db.collection.ensureIndex(keypattern[,options]) - options is an object with these possible fields: name, unique, dropDups
db.collection.reIndex()
db.collection.find([query],[fields]) - query is an optional query filter. fields is optional set of fields to return.
                                              e.g. db.collection.find( {x:77} , {name:1, x:1} )
db.collection.find(...).count()
db.collection.find(...).limit(n)
db.collection.find(...).skip(n)
db.collection.find(...).sort(...)
db.collection.findOne([query])
db.collection.findAndModify( { update : ... , remove : bool [, query: {}, sort: {}, 'new': false] } )
db.collection.getDB() get DB object associated with collection
db.collection.getIndexes()
db.collection.group( { key : ..., initial: ..., reduce : ...[, cond: ...] } )
db.collection.mapReduce( mapFunction , reduceFunction , <optional params> )
db.collection.remove(query)
db.collection.renameCollection( newName , <dropTarget> ) renames the collection.
db.collection.runCommand( name , <options> ) runs a db command with the given name where the first param is the collection name
db.collection.save(obj)
db.collection.stats()
db.collection.storageSize() - includes free space allocated to this collection
db.collection.totalIndexSize() - size in bytes of all the indexes
db.collection.totalSize() - storage allocated for all data and indexes
db.collection.update(query, object[, upsert_bool, multi_bool])
db.collection.validate( <full> ) - SLOW
db.collection.getShardVersion() - only for use with sharding
db.collection.getShardDistribution() - prints statistics about data distribution in the cluster

4.3 显示集合方法实现

显示方法实现输入db.<collection>.<method>, 不带(). 例如输入:

db.collection.save

显示:

function (obj) {
    if (obj == null || typeof obj == "undefined") {
        throw "can't save a null";
    }
    if (typeof obj == "number" || typeof obj == "string") {
        throw "can't save a number or string";
    }
    if (typeof obj._id == "undefined") {
        obj._id = new ObjectId;
        return this.insert(obj);
    } else {
        return this.update({_id:obj._id}, obj, true);
    }
}

5 cursor帮助

当你在mongo命令行使用find()方法时, 可以使用很多cursor方法来修改find()行为和结果.

  • 显示find()方法可用的修改器和cursor处理方法

    db.collection.find().help()

显示:

> db.collection.find().help()
find() modifiers
    .sort( {...} )
    .limit( n )
    .skip( n )
    .count() - total # of objects matching query, ignores skip,limit
    .size() - total # of objects cursor would return, honors skip,limit
    .explain([verbose])
    .hint(...)
    .showDiskLoc() - adds a $diskLoc field to each returned object

Cursor methods
    .forEach( func )
    .map( func )
    .hasNext()
    .next()
  • 看cursor方法的实现, 输入db.<collection>.find().<method>, 不包含(). 例如:
db.collection.find().toArray

显示:

> db.collection.find().toArray
function () {
    if (this._arr) {
        return this._arr;
    }
    var a = [];
    while (this.hasNext()) {
        a.push(this.next());
    }
    this._arr = a;
    return a;
}

常用的cursor方法

  • hasNext() 查询cursor是否还有数据.
  • next() 返回下一个数据对象, 并且cursor指向位置加1.
  • forEach(function) function方法遍历执行全部结果.function只有1参数, 迭代器中指向的对象.

6 包装对象帮助

可以通过输入help misc来获取对象包装类.

help misc

显示:

> help misc
    b = new BinData(subtype,base64str)  create a BSON BinData value
    b.subtype()                         the BinData subtype (0..255)
    b.length()                          length of the BinData data in bytes
    b.hex()                             the data as a hex encoded string
    b.base64()                          the data as a base 64 encoded string
    b.toString()

    b = HexData(subtype,hexstr)         create a BSON BinData value from a hex string
    b = UUID(hexstr)                    create a BSON BinData value of UUID subtype
    b = MD5(hexstr)                     create a BSON BinData value of MD5 subtype

    o = new ObjectId()                  create a new ObjectId
    o.getTimestamp()                    return timestamp derived from first 32 bits of the OID
    o.isObjectId()
    o.toString()
    o.equals(otherid)

7 参考文章

https://docs.mongodb.com/manual/tutorial/access-mongo-shell-help/

8 相关文章

MongoDB中文文档

转载请保留原文链接.