mongodb的游标

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

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

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

2.遍历结果集

遍历结果集的方法有两个

一个是for

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

一个是next

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


增强部分 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);



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

下面我演示一个包装查询

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


我们的所有查询在发送到数据库端时,都被提前转换成了包装形式!包装形式就是额外使用了一些键,如上述的"$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

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


2.distinct

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


3.group

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

参数解释: 

key:分组的字段值

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

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


group联合$where查询

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

相关文章:

  • 2021-07-02
  • 2021-06-29
  • 2022-12-23
  • 2021-09-20
  • 2021-05-10
猜你喜欢
  • 2021-03-31
  • 2021-05-30
  • 2021-11-30
  • 2021-08-01
  • 2021-09-11
  • 2021-08-10
  • 2021-07-02
相关资源
相似解决方案