? ? 手里有本《MongoDB权威指南》,打算做个读书笔记,把常规命令、数据类型过一遍,强迫记忆。
?
? ? 相关文章:
? ??征服 Mongodb 之 安装与主从配置
? ? 关于如何安装、配置、启动MongoDB等,参考上篇文章。
?
? ? 一、常规命令
- 登录
? ? 类似于MySQL登录,可参考如下命令:
?
# mongo --help MongoDB shell version: 2.0.7 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 will not run the ".mongorc.js" file on start up --quiet be less chatty --port arg port to connect to --host arg server to connect to --eval arg evaluate javascript -u [ --username ] arg username for authentication -p [ --password ] arg password for authentication -h [ --help ] show this usage information --version show version information --verbose increase verbosity --ipv6 enable IPv6 support (disabled by default) file names: a list of files to run. files have to end in .js and will exit after unless --shell is specified?
?
? ? 譬如,我经常这么用,一步到位:
??
?
# mongo 10.11.20.140/zlex MongoDB shell version: 2.0.7 connecting to: 10.11.20.140/zlex >?
?
- ?查看当前数据库/切换数据库? ??
# mongo MongoDB shell version: 2.0.7 connecting to: test > db test > use zlex switched to db zlex >?
- ?查看当前数据库下的表,及索引?
> show collections system.indexes test user??? system.indexes索引信息
? ? test、user是数据表
?
- ?查看当前数据库、表状态
> db.stats()
{
"db" : "test",
"collections" : 6,
"objects" : 16,
"avgObjSize" : 44.75,
"dataSize" : 716,
"storageSize" : 32768,
"numExtents" : 6,
"indexes" : 4,
"indexSize" : 32704,
"fileSize" : 201326592,
"nsSizeMB" : 16,
"ok" : 1
}
> db.blog.stats()
{
"ns" : "test.blog",
"count" : 0,
"size" : 0,
"storageSize" : 8192,
"numExtents" : 1,
"nindexes" : 1,
"lastExtentSize" : 8192,
"paddingFactor" : 1.56,
"flags" : 1,
"totalIndexSize" : 8176,
"indexSizes" : {
"_id_" : 8176
},
"ok" : 1
}
? ?PS:MongoDB 1.8支持16MB的消息长度-
??一些边边角角的函数,你懂滴,横向思维下
> db.help()
DB methods:
db.addUser(username, password[, readOnly=false])
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(func, args) run code server-side
db.getCollection(cname) same as db['cname'] or db.cname
db.getCollectionNames()
db.getLastError()