NoSQL学习二:MongoDB基本管理命令
MongoDB命令学习
一、MongoDB命令帮助
在安装MongoDB后,启动服务器进程(mongod),可以通过在客户端命令mongo实现对MongoDB的管理和监控:

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

二、基本命令
1、show dbs
2、use pagedb
3、show collections
4、db.serverStatus()
5、查询指定数据库统计信息
三、基本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")
NoSQL学习二:MongoDB基本管理命令的更多相关文章
- MongoDB基本管理命令 [转]
MongoDB基本管理命令 linux下配置安装mongodb 10分钟玩转mongoDB 官网安装教程 使用命令行方式连接mongodb: mongo /admin -u用户名 -p密码 --连接 ...
- Linux学习之常用权限管理命令(二)
(一)常用权限管理命令 (1)chmod命令 (2)chown (3)chgrp (4)umask (一)常用权限管理命令 (1)chmod命令 命令名称:chmod命令英文原意:change the ...
- MongoDB基本管理命令
MongoDB是一个NoSQL数据库系统:一个数据库可以包含多个集合(Collection),每个集合对应于关系数据库中的表:而每个集合中 可以存储一组由列标识的记录,列是可以自由定义的,非常灵活,由 ...
- EF Codefirst 初步学习(二)—— 程序管理命令 更新数据库
前提:搭建成功codefirst相关代码,参见EF Codefirst 初步学习(一)--设置codefirst开发模式 具体需要注意点如下: 1.确保实体类库程序生成成功 2.确保实体表类库不缺少 ...
- Redis教程(十二):服务器管理命令总结
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/140.html 一.概述: Redis在设计之初就被定义为长时间不间断运行 ...
- Linux命令(二十七) 用户组管理命令
Linux提供了一系列的命令管理用户组.用户组就是具有相同特征的用户集合.每个用户都有一个用户组,系统能对一个用户组中所有用户进行集中管理,通过把相同属性的用户定义到同一用户组,并赋予该用户自一定的操 ...
- Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)
1.Oracle表的管理 表名和列名的命名规则: 必须以字母开头: 长度不能超过30个字符: 不能使用oracle的保留字: 只能使用如下字符:A-Z, a-z, 0-9, $, # 等. Oracl ...
- Linux命令(二十三) 磁盘管理命令(一) df,du,tune2fs
一. 查看磁盘占用空间情况 df df 命令用于查看硬盘空间的使用情况,还可以查看硬盘分区的类型或 inode 节点的使用情况等. df 命令常用参数如下: -a 显示所有文件系统的磁盘使用情况,包括 ...
- mongodb常见管理命令
----------1.复制数据库 wind:PRIMARY> show dbs; jinri 0.078GB local 1.078GB test 0.078GB wind 0.078GB w ...
随机推荐
- 非阻塞同步算法实战(三)-LatestResultsProvider
本人是本文的作者,首发于ifeve(非阻塞同步算法实战(三)-LatestResultsProvider) 前言 阅读本文前,需要读者对happens-before比较熟悉,了解非阻塞同步的一些基本概 ...
- KVC
KVC可以修改私有的属性,估计也是底层 操作的.
- javascript设计模式(单体模式)
主要内容: js中最基本.应用最广的模式就是单体模式,实现原理是将代码组织为一个逻辑单元,这个逻辑单元中的代码可以通过单一的变更进行访问,确保对象只存在一份实例. 单体模式的特点: 在网页中使用全局变 ...
- 如何搭建lamp(CentOS7+Apache+MySQL+PHP)环境 [转]
在网上搜资料,自己在本地虚拟机上尝试搭建,弄了整整一天一夜,终于弄好了.网上的资料,虽然很多,但大多都是重复的,拿去试了之后,又很多都不能得到正确的结果.最终找到了适合我的linux环境的搭建方式;在 ...
- [WPF]设置背景色
程序效果 最终得到程序的运行效果如图.拖动Slider可以使按钮的背景色出现相应变化. 需求分析和架构设计 如果是你,接到了这样的一个程序设计要求,会怎样思考?第一步当然是需求分析啦.这个程序相对简单 ...
- 【转】 71道经典Android面试题和答案,重要知识点都包含了
,,面试题1. 下列哪些语句关于内存回收的说明是正确的? (b ) A. 程序员必须创建一个线程来释放内存 B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 ...
- JAVA 异常类
1.Exception(异常) :是程序本身可以处理的异常. 2.Error(错误): 是程序无法处理的错误.这些错误表示故障发生于虚拟机自身.或者发生在虚拟机试图执行应用时,一般不需要程序处理. 3 ...
- juery与表单中name="nodeName"引起的冲突
引入jquery时,表单中如果有name="nodeName"的表单项,会有一些奇怪的冲突. 表单HTML代码如下: <form id="formAddEquipN ...
- protobuf坑1
或者说特性吧,没仔细看protobuf代码,也许我还理解不够. 按照陈硕大牛的这篇帖子的介绍,“它包含了程序编译的时候所链接的全部 protobuf Message types” 实际开发过程中发现必 ...
- Mini projects #4 ---- Pong
课程全名:An Introduction to Interactive Programming in Python,来自 Rice University 授课教授:Joe Warren, Scott ...