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、查询指定数据库统计信息

    use myDatabase
    db.stats()

 

 

 

三、基本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.getNamedb
  •   显示当前数据库状态 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")

NoSQL学习二:MongoDB基本管理命令的更多相关文章

  1. MongoDB基本管理命令 [转]

    MongoDB基本管理命令 linux下配置安装mongodb 10分钟玩转mongoDB 官网安装教程 使用命令行方式连接mongodb: mongo /admin -u用户名 -p密码  --连接 ...

  2. Linux学习之常用权限管理命令(二)

    (一)常用权限管理命令 (1)chmod命令 (2)chown (3)chgrp (4)umask (一)常用权限管理命令 (1)chmod命令 命令名称:chmod命令英文原意:change the ...

  3. MongoDB基本管理命令

    MongoDB是一个NoSQL数据库系统:一个数据库可以包含多个集合(Collection),每个集合对应于关系数据库中的表:而每个集合中 可以存储一组由列标识的记录,列是可以自由定义的,非常灵活,由 ...

  4. EF Codefirst 初步学习(二)—— 程序管理命令 更新数据库

    前提:搭建成功codefirst相关代码,参见EF Codefirst  初步学习(一)--设置codefirst开发模式 具体需要注意点如下: 1.确保实体类库程序生成成功 2.确保实体表类库不缺少 ...

  5. Redis教程(十二):服务器管理命令总结

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/140.html 一.概述: Redis在设计之初就被定义为长时间不间断运行 ...

  6. Linux命令(二十七) 用户组管理命令

    Linux提供了一系列的命令管理用户组.用户组就是具有相同特征的用户集合.每个用户都有一个用户组,系统能对一个用户组中所有用户进行集中管理,通过把相同属性的用户定义到同一用户组,并赋予该用户自一定的操 ...

  7. Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)

    1.Oracle表的管理 表名和列名的命名规则: 必须以字母开头: 长度不能超过30个字符: 不能使用oracle的保留字: 只能使用如下字符:A-Z, a-z, 0-9, $, # 等. Oracl ...

  8. Linux命令(二十三) 磁盘管理命令(一) df,du,tune2fs

    一. 查看磁盘占用空间情况 df df 命令用于查看硬盘空间的使用情况,还可以查看硬盘分区的类型或 inode 节点的使用情况等. df 命令常用参数如下: -a 显示所有文件系统的磁盘使用情况,包括 ...

  9. mongodb常见管理命令

    ----------1.复制数据库 wind:PRIMARY> show dbs; jinri 0.078GB local 1.078GB test 0.078GB wind 0.078GB w ...

随机推荐

  1. zTree树的模糊搜索

    工作需要,所以做了一个比较方便的搜索功能:1.功能实现都是基于zTree的API:2.如有更好的建议,欢迎拍我:其中要说明下的是flag 这个字段, 这是我自己定义的扩展字段,代码中涉及到flag 请 ...

  2. aspx页面调用发送邮件验证码(结合前两篇)

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs ...

  3. Linux 内核通知链随笔【中】

    关于内核通知链不像Netlink那样,既可以用于内核与用户空间的通信,还能用于内核不同子系统之间的通信,通知链只能用于内核不同子系统之间的通信.那么内核通知链到底是怎么工作的?我们如何才能用好通知链? ...

  4. boot from volume

    nova boot --flavor 1 --block-device source=image,id=<image_id>,dest=volume,size=5,shutdown=pre ...

  5. WEB前端开发人员须知的常见浏览器兼容问题及解决技巧

    所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的 ...

  6. CSS布局技巧 -- sticky属性

    在一些很长的表格中,往往需要使用表头悬浮的设计以方便用户使用,例如H5电商页面通过下滑展示大量商品列表时,顶部的导航栏需要在离开屏幕时,需要固定在屏幕顶部以方便用户筛选类别.这种效果一直以来需要通过J ...

  7. linux环境下部署tomcat

    服务器环境:Red Hat Enterprise Linux Server release 6.5 安装部署包:apache-tomcat-8.0.30.tar.gz.jdk-8u66-linux-x ...

  8. error while performing database login with the xxx driver

    在MyEclipse的安装路径下D:\Program Files\MyEclipse 6.0\eclipse下面找到eclipse.ini文件,用记事本打开 eclipse.ini文件 -showsp ...

  9. nginx搭建高性能流媒体技术

    一. 系统环境 系统版本: CentOS 5.8x86_64 Nginx版本: Nginx-1.4.2.tar.gz Yamdi版本:Yamdi-1.9.tar.gz 二. 自动化安装 #!/bin/ ...

  10. springboot使用之一:连接生产数据库,添加连接池

    项目中,难免遇到连接数据库的情形,目前来说springboot连接mybatis有两种,我这边使用的是mybatis官方提供XML方式的整合. 后面,对项目进行完善,引入了连接池,PageHelper ...