条件操作符: gt(大于),gte(大于等于),lt(小于),lte(小于等于)
E.G:
db.People.find({age:{$gt:100}})//查找集合里age大于100的文档

注意:string类型的值不能查处结果,使用命令提示符进行添加时默认为string,可使用MongoDB compass进项修改;

E.G:
db.People.find({age:{$type:16}})//查询age这个名字下面类型是int32(16)的文档

显示条数的控制:limit
E.G:
db.BookList.find().limit(4)//显示4条查询出的文档

跳过几条的方法:skip()
E.G:
db.BookList.find().skip(4)//跳过前四条查询出的文档

补充:
db.BookList.find({},{"name":1,_id:0}).limit(2)
第一个{}里面放条件,若为空则显示所有的文档,
第二个()里面指定哪些列显示,哪些不显示(1表示显示,0表示不显示)
同时使用sort,skip,limit.不论先后顺序,执行的顺序都是sort→skip→limit;
skip和limit都是只适合小数据量的分页,百万级的数据建议使用where_limit
E.G:
db.BookList.find({Price:{$gt:150}}).sort({"name":1}).limit(10)
0
sort()排序:
E.G:
db.People.find({},{name:1,_id:0}).sort({age:1})//根据年龄升序排序且只显示名字
1升序
-1降序

索引:
附接收可选参数"

E.G:
db.People.ensureIndex({name:1})//创建根据名字升序排列的索引

聚合:
E.G:
db.People.aggregate([{$group :{_id:"$sex",num_tutorial:{$sum:1}}}])//根据性别进行升序的分组统计

简单的聚合表达式

管道:
将这次计算出的结果,当成下个运算的参数,管道可以重复使用;
$project:修改输入文档的结构.可以用来重命名,增加或修改域,也可以创建计算机结果以及嵌套文件.
$match:用于过滤文件,只输出符合条件的文档.$match使用MongoDB的标准查询.
$limit: 用来限制MongoDB聚合管道返回的文档数.
$skip: 用于在聚合管道中跳过制定数量的文档,并返回剩下的文档.
$unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数字的一个值.
$group: 将集合中的文档分组,可用于统计结果.
$sort: 将输出文档排序后输出.
$geoNear: 输出接近某一地理位置的有序文档.

MongoDB复制(副本集):
将数据同步到多个服务器的过程,复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性,并可以保证数据的可用性.还允许从硬件故障和服务终端中恢复数据.
什么是复制:
保障数据的安全性
数据高可用性(24*7)
灾难恢复
无需停机维护(备份,重建索引,压缩)
分布式读取数据

MongoDB复制至少需要两个节点,一个主节点,是负责处理客户端的请求,其余都是从节点,负责复制主节点上的数据
常见搭配方式为:一主一从 一主多从
客户端从主节点读取数据,在客户端写入数据到主节点时,主节点与从节点进行数据交互保障数据的一致性.
副本集特征:
N个节点的集群;
任何节点都可以当做主节点;
所有写入和操作在主节点;
自动故障转移????
自动恢复.

MongoDB分片:
分片:MongoDB中的另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求.
当MongoDB存储海量的数据时,一台机器可能不足以存储数据,也可能不足以提供可接受的读写吞吐量.这时,我们就可以通过在多台机器上分割数据,使得数据库系统能存储和处理更多的数据.

使用分片的情况:
复制所有的写入操作到主节点;
延迟的敏感数据会在主节点查询;
单个副本集限制在12个节点
当请求量巨大时会出现内存不足;
本地磁盘不足
垂直扩展价格昂贵.

http://blog.csdn.net/xqzhang8/article/details/72588278

详细资料

MongoDB自学(2)的更多相关文章

  1. MongoDB自学笔记2---1.2 初识MongoDB

    1.2.1MongoDB简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之 ...

  2. MongoDB自学笔记1----1.1 NoSQL是什么?

    第一章 走进MongoDB 1.1NoSQL是什么?       1.1.1NoSQL简介        对于不了解NoSQL的人都会认为NoSQL为No SQL,即不是SQL.但是这种理解是错误的, ...

  3. MongoDB自学(4)

    超过存储上限或记录条数删除最早的记录:db.createCollection("集合名",{capped:true,size:1024,max:100})注解:指定集合名的最大记录 ...

  4. MongoDB自学(3)

    MongoDB关系:MongoDB的关系表示多个文档之间在逻辑上的相互联系.文档之间可以通过嵌入和引用来建立联系.关系:1:11:NM:1M:N 嵌入式:{ id:11;name:嘻嘻嘻;addres ...

  5. mongodb自学

    http://www.runoob.com/mongodb/mongodb-databases-documents-collections.html

  6. MongoDB自学日记3——架构及HA

    在对mongoDB的操作有了一定基础后,终于可以扯扯HA和架构这两个高大上的概念了.在这之前当然还得弄清楚mongoDB的Key feature:Sharding. 1. Sharding Shard ...

  7. MongoDB自学日记2——权限

    首先应该明确的是为什么要学MongoDB.OK,如果是仅仅出于对于流行技术的原始兴趣,可能并不能深入学习,还必须有应用需求.刚开始学习MongoDB,因为以前对其它数据库的了解也不是特别深入,所以许多 ...

  8. MongoDB自学日记1——基本操作

    作为一个做底层及后台研发的,最近对NoSQL却产生了浓厚的兴趣,加入了一个DBA群,据说北京排的上号的DBA都在里面,然而里面基本都是Oracle系的,MySQL和MongoDB系的少之又少.学习靠不 ...

  9. MongoDB自学------(1)MongoDB4.0安装

    一.环境 操作系统 安装包 安装方式 Ubuntu18.04 mongodb4.0 apt安装 Ubuntu18.04 mongodb4.0 docker安装 二.apt安装 sudo apt-key ...

随机推荐

  1. WPF TextBox 正则验证 大于等于0 小于等于1 的两位小数

    正则:^(0\.\d+|[1-9][0-9]|1)$ TextBox绑定正则验证 <TextBox x:Name="txb"   MaxLength="6" ...

  2. 深入浅出—Redis集群的相关详解

    前言: 这篇文章主要介绍了Redis集群的相关,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值. 注意!要求使用的都是redis3.0以上的版本,因为3.0以上增加了red ...

  3. 使用StackExchange.Redis 连接redis的pipeline命令使用

    这几天公司老项目用到了这个组件,需要设置初始化ID,发现这个组件没有pipeline命令的方法,去官方文档去瞅了一波,发现也没有给出对应的解决方案,后面自己发现组件里面其实有 其实就是这个接口的一个方 ...

  4. win7下建立超级隐藏账户

    win7下建立超级隐藏账户 实验目的: 隐藏用户,不让管理员简单的发现 隐藏方法: 1.命令提示符中创建隐藏账户这种方法只能将账户在"命令提示符"中进行隐藏,而对于"计算 ...

  5. Linux如何管理文档多租户

    例题 同一群组microsoft下的两个账号justmine001和justmine002需要共同拥有目录/microsoft/eshop的开发权,以便进行协同工作,但是其他人不允许进入和查阅该目录. ...

  6. 中国四大骨干网与十大ISP服务商

    1.骨干网 几台计算机连接起来,互相可以看到其他人的文件,这叫局域网,整个城市的计算机都连接起来,就是城域网,把城市之间连接起来的网就叫骨干网.这些骨干网是国家批准的可以直接和国外连接的互联网.其他有 ...

  7. Quartz+ssm注解方式的最最最最简单使用

    Maven配置 <!-- quartz监控 --> <dependency> <groupId>org.quartz-scheduler</groupId&g ...

  8. 两个inline-block中间有空白,解决inline-block 元素之间的空白问题

    目录 一.遇到的问题 二.举个简单的栗子分析问题 三.解决办法 一.遇到的问题 前些天写瀑布流布局的时候,发现明明计算好了宽度使得一行能放下三张图片,实际效果却总是放不下,图片会挤到下一行去.上图: ...

  9. C# ListView 控件和 INotifyPropertyChanged 接口

    ListView 控件和 DataGridView 控件 ListView 是跟 Winform 中 DataGridView 用法以及显示效果差不多的一个 WPF 控件,可以通过列表的方式方便的显示 ...

  10. nginx 报错502Bad Gateway

    场景: 目前在ECS中起了多个node服务,使用forever进程守护,最近,打开线上页面发现报错502 Bad Gateway;同时部分静态资源访问不到.(之前可以的): 解决: 首先查看nginx ...