NoSQL学习二:MongoDB基本管理命令

一、MongoDB命令帮助

  在安装MongoDB后,启动服务器进程(mongod),可以通过在客户端命令mongo实现对MongoDB的管理和监控:

这是MongoDB最上层的命令列表,主要是管理数据库的:数据库操作帮助、集合操作帮助、管理帮助。如果想了解数据库操作更详细的命令,可以直接使用db.help(),如下所示:

二、基本命令

  1、show dbs
    显示当前数据库服务器上的数据库
  2、use pagedb
    切换到指定数据库pagedb的上下文,可以在此上下文中管理pagedb数据库以及其中的集合等
  3、show collections
    显示数据库中所有的集合(collection)
  4、db.serverStatus()
    查看数据库服务器的状态。
 
  5、查询指定数据库统计信息
    usemyDatabase
    db.stats()
  6、查询指定数据库包含的集合名称列表
    

三、基本DDL和DML

  3.1 数据库操作

  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、agedb.userInfo.find({},{name:1,age:1})
  •   查询指定数据db.userInfo.find({age:{$gt25}},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")
转载自:http://www.cnblogs.com/weixiao520/p/4857662.html

相关文章

校园网上订餐系统系统主要功能模块包括公告内容(公告栏、轮...
从今天开始,正式进入项目阶段。本次的项目是跟着黑马的瑞吉...
在可预见的将来,IT不会萎缩,只会越发展越庞大,最终会渗透...
vulntarget-b靶场最详细通关记录。
MongoDB是一个开源、高性能、支持海量数据存储的。
【NoSQL数据库技术与应用】课本代码、课后答案(持续更新)