? ? 手里有本《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()