mongodb的高级操作(游标、聚合)

mongodb的游标

mongodb的游标类似c#的延迟加载、类似hibernate的懒加载

1.定义list 接受find()的结果集,默认find()的数据是100条数据或者是4M的数据,当两者谁比较小,则返回哪个方案结果集。

2.遍历结果集

遍历结果集的方法有两个

一个是for

一个是next

 

增强部分 sort(排序) skip(跳过) limit(限制条数)

sort({'age':1,'name':1})                           age是字段的排序,1是正序,-1是倒叙

skip(2)                                                        跳过2个,  1,2,3,4  skip(2)  ==>{3,4}

limit(2)                                                        只取两条

当出现db.person.find().sort().skip().limit()多条件同时存在的时候, 执行的顺序是  find()-->sort()-->skip()-->limit()

skip+limit的效果相当于mysql中的limit(1,2);

 

 

查询分为普通查询和包装查询,我们上面演示的各种查询方式都是普通查询

下面我演示一个包装查询

 


我们的所有查询在发送到数据库端时,都被提前转换成了包装形式!包装形式就是额外使用了一些键,如上述的"$query","$orderby"。我们还有如下一些有用的键可用:
1. $maxscan : integer  指定查询时最多扫描文档的数量
2. $min : document   查询的开始条件
3. $max : document   查询的结束条件
4. $hint : document  指定服务器使用哪些索引进行查询
5. $explain : boolean 获取查询细节,如用到的索引,结果数量,耗时等,类似于关系数据库这边查看执行计划。并不会真正执行查询
6. $snapshot : boolean 确保查询的结果是在查询执行那一刻的一致快照!

。。。。。

有需要的,可以自己详细百度

 

 

 

 

 

 

 

 

 

mongodb的聚合

mongodb的聚合和mysql很类似,有:count,distinct,group,mapReduce等

1.count

 

2.distinct

 

3.group

参数解释: 

key:分组的字段值

initial:每次分组调用一次,计数器的存在

$reduce:每次分组匹配到一条,计数器+1

 

group联合$where查询

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MongoDB是一个流行的NoSQL数据库,提供了许多高级操作来处理和管理数据。以下是一些MongoDB高级操作: 1. 聚合操作MongoDB聚合操作可以对集合中的文档进行复杂的数据处理和分析。它包括管道操作符,可以进行排序、筛选、分组、映射、限制和计算等操作,以生成所需的结果。 2. 索引优化:索引是MongoDB中优化查询性能的重要工具。通过为经常查询的字段创建索引,可以加快查询速度。MongoDB支持多种类型的索引,如单字段索引、组合索引、文本索引和地理空间索引等。 3. 事务处理:MongoDB从版本4.0开始支持事务处理。事务是一组关联操作的集合,要么全部成功执行,要么全部失败回滚。事务处理可确保在并发环境下数据的一致性和完整性。 4. 数据备份和恢复:MongoDB提供了多种备份和恢复数据的方式。可以使用mongodump和mongorestore命令行工具进行全量备份和恢复,也可以使用Oplog来进行增量备份和恢复。 5. 数据迁移:当需要将数据从一个MongoDB实例迁移到另一个实例时,可以使用mongodump和mongorestore命令行工具来执行全量数据迁移。同时,还可以使用MongoDB的复制集和分片集群功能来实现数据的高可用和水平扩展。 6. 数据加密:MongoDB提供了字段级别的数据加密功能。可以使用客户端端到端加密的方式来保护敏感数据,确保数据在存储和传输过程中的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值