6.mongo命令提示符帮助
最新内容会在源站更新。
转载请保留原文链接: http://dashidan.com/article/mongodb/basic/6.html
① 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支持(默认关闭)
② 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 退出命令行
③ 数据库帮助
1.显示全部数据库
show dbs
2.显示部数据操作帮助
db.help()
3.显示方法的实现
显示一个数据的方法的具体实现,输入db.<method name>
不带()
.
例如:
db.updateUser
显示:
test.updateUser
④ 集合帮助
1.显示全部集合
show collections
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
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);
}
}
⑤ 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() 方法遍历执行全部结果.只有1参数, 迭代器中指向的对象.
⑥ 包装对象帮助
可以通过输入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)