一、MongoDB命令帮助在安装MongoDB后,启动服务器进程(mongod),可以通过在客户端命令mongo实现对MongoDB的管理和监控:
这是MongoDB最上层的命令列表,主要是管理数据库的:数据库操作帮助、集合操作帮助、管理帮助。如果想了解数据库操作更详细的命令,可以直接使用db.help(),如下所示:
二、基本命令1、show dbs
显示当前数据库服务器上的数据库
2、use pagedb
切换到指定数据库pagedb的上下文,可以在此上下文中管理pagedb数据库以及其中的集合等
3、show collections
显示数据库中所有的集合(collection)
4、db.serverStatus()
查看数据库服务器的状态。
5、查询指定数据库统计信息
use myDatabase
db.stats()
6、查询指定数据库包含的集合名称列表
三、基本DDL和DML
3.1 数据库操作切换、创建数据库 use yourDB查询所有数据库 show dbs删除当前使用数据库 db.dropDatabase()从指定主机上克隆数据库 db.cloneDatabase("127.0.0.1")从指定的机器复制数据库数据到某个数据库 db.copyDatabase("mydb","temp","127.0.0.1")修复数据库 db.repairDatabase()查看当前使用的数据库 db.getName或db显示当前数据库状态 db.stats()当前db版本 db.version()查看当前数据库机器地址 db.getMongo()3.2 集合操作创建集合 db.createCollection('collName',{size:20,capped:5,max:100}) 创建成功会显示{"ok":1}得到指定名称的集合 db.getCollection("account")得到当前数据库所有集合 db.getCollectionNames()得到当前数据库所有集合索引的状态 db.PRintCollectionStats()3.3 用户相关添加用户 db.addUser("name")和db.addUser("userName","pwd123",true) 设置密码、是否只读数据库认证 db.auth("userName","123123")显示当前所用用户 show users删除用户 db.removeUser("userName")3.4 集合查询查询所用记录 db.userInfo.find() 默认每页显示20条记录查询去掉后的当前集合中的某列的重复数据 db.userInfo.disinct("name")等于 db.userInfo.find({"gae":22}) 查询age==22的集合大于 db.userInfo.find({"age":{$gt:22}})小于 db.userInfo.find({"age":{$lt:22}})包含 db.userInfo.find({name:/mongo/})开头 db.userInfo.find({name:/^mongo/})查询指定列name、age db.userInfo.find({},{name:1,age:1})查询指定数据 db.userInfo.find({age:{$gt25}},{name:1,age:1})升序 db.userInfo.find().sort({age:1})降序 db.userInfo.find().sort({age:-1})查询前5条数据 db.userInfo.find().limit(5)查询10条以后的数据 db.userInfo.find().skip(10)查询5-10条数据 db.userInfo.find().limit(10).skip(5)与查询 db.userInfo.find({$or:[{age:22},{age:25}]})查询第一条数据 db.userInfo.findOne()查询集合的条数 db.userInfo.find().count()按某列进行排序 db..find({sex:{$exists:true}}).count() group db.userInfo.group({"key": {"age": true},"initial": {"user": []},reduce": function(cur,prev){prev.user.push(cur.name);}
参数选项: 1.key: 这个就是分组的key 2.initial: 每组都分享一个初始化函数,特别注意:是每一组initial函数。 3.reduce: 这个函数的第一个参数是当前的文档对象,第二个参数是上一次function操作的累计对象。有多少个文档, $reduce就会调用多少次。 4.condition: 这个就是过滤条件。 5.finalize: 这是个函数,每一组文档执行完后,多会触发此方法。
3.5 索引添加索引 db.users.ensureIndex({"name":1}) ensureIndex方法参数中,数字1表示升序,-1表示降序。唯一索引 db.users.ensureIndex({"name":1},{"unique":true})组合索引 db.users.ensureIndex({"name":1, "age":-1})查看索引 db.users.getIndexes()查询索引 db.users.find({"name":"k"}).hint({"name":1,"age":1})删除索引 db.users.dropIndexes()删除指定索引 db.users.dropIndex("name_1")