常用

  1. show dbs; #查看全部数据库
  2. show collections; #显示当前数据库中的集合(类似关系数据库中的表)
  3. show users; #查看当前数据库的用户信息
  4. use <db name>; #切换数据库跟mysql一样
  5. db;或者db.getName(); #查看当前所在数据库
  6. db.help(); #显示数据库操作命令,里面有很多的命令
  7. db.foo.help(); #显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令
  8. db.foo.find(); #对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据)
  9. db.foo.find( { a : 1 } ); #对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1

创库&用户

  1. # 创建数据表
  2. db.createCollection("Account")
  3. db.createCollection("Test",{capped:true, size:10000}) { "ok" : 1 }
  4. capped:true,表示该集合的结构不能被修改;
  5. size:在建表之初就指定一定的空间大小,接下来的插入操作会不断地按顺序APPEND数据在这个预分配好空间的文件中,如果已经超出空间大小,则回到文件头覆盖原来的数据继续插入。这种结构保证了插入和查询的高效性,它不允许删除单个记录,更新的也有限制:不能超过原有记录的大小。这种表效率很高,它适用于一些暂时保存数据的场合,比如网站中登录用户的session信息,又比如一些程序的监控日志,都是属于过了一定的时间就可以被覆盖的数据。
  6. # 修改数据表名
  7. db.Account.renameCollection("Account1")
  8. # 创建用户
  9. db.createUser({user:"xiaoming",pwd:"123456",roles:[{role:"userAdmin",db:"test"}]})

Db.helper手册

  1. > db.Account.help()
  2. DBCollection help
  3. db.Account.find().help() - show DBCursor help
  4. db.Account.count()
  5. db.Account.dataSize()
  6. db.Account.distinct( key ) - eg. db.Account.distinct( 'x' )
  7. db.Account.drop() drop the collection
  8. db.Account.dropIndex(name)
  9. db.Account.dropIndexes()
  10. db.Account.ensureIndex(keypattern[,options]) - options is an object with these possible fields: name, unique, dropDups
  11. db.Account.reIndex()
  12. db.Account.find([query],[fields]) - query is an optional query filter. fields is optional set of fields to return.
  13. e.g. db.Account.find( {x:77} , {name:1, x:1} )
  14. db.Account.find(...).count()
  15. db.Account.find(...).limit(n)
  16. db.Account.find(...).skip(n)
  17. db.Account.find(...).sort(...)
  18. db.Account.findOne([query])
  19. db.Account.findAndModify( { update : ... , remove : bool [, query: {}, sort: {}, 'new': false] } )
  20. db.Account.getDB() get DB object associated with collection
  21. db.Account.getIndexes()
  22. db.Account.group( { key : ..., initial: ..., reduce : ...[, cond: ...] } )
  23. db.Account.mapReduce( mapFunction , reduceFunction , <optional params> )
  24. db.Account.remove(query)
  25. db.Account.renameCollection( newName , <dropTarget> ) renames the collection.
  26. db.Account.runCommand( name , <options> ) runs a db command with the given name where the first param is the collection name
  27. db.Account.save(obj)
  28. db.Account.stats()
  29. db.Account.storageSize() - includes free space allocated to this collection
  30. db.Account.totalIndexSize() - size in bytes of all the indexes
  31. db.Account.totalSize() - storage allocated for all data and indexes
  32. db.Account.update(query, object[, upsert_bool, multi_bool])
  33. db.Account.validate() - SLOW
  34. db.Account.getShardVersion() - only for use with sharding

资料