mongodb中 查询,索引和聚合(四)

前文介绍
一篇 mongodb数据库的基础(一):https://blog.csdn.net/weixin_43319279/article/details/102530164
二篇 mongodb基础(二):https://blog.csdn.net/weixin_43319279/article/details/102532474
三篇 mongodb文档基本操作(三) https://blog.csdn.net/weixin_43319279/article/details/102533923

1: find ()的扩展运用

准备工作: 把数据库搭建起来,及数据信息等

use dss

db.createCollection("students")
a=({"name":"dss" ,"age":34,"weight":123,"gender":"male","height":180})
b=({"name":"ds" ,"age":44,"weight":123,"gender":"male","height":180,time:[{"data":2019,"hour":14}]})
 db.students. insert(a)
 db.students. insert(b)

.type()的运用
type(2)的作用是判断是否是字符串

 db.students.find({"gender":{type(2)}})

代码运行的结果:
在这里插入图片描述

2:limit()和skip()
limit 读取指定数量 的数据信息
这里的 limit(1)默认是读第一条数据

db.students. find().limit(1)

跳跃式读数据信息
加上skip(1)这里 是读的是2条数据

db.students.find().limit(1).skip(1)

代码运行效果
在这里插入图片描述

3:sort()
排序函数
1是升序
-1是降序

 db.students.find().sort("age":1) 

代码效果如下所示
在这里插入图片描述

ensureindex(索引 )
索引的作用是加快查询的速度,提高查询的效力
索引存在一个便于遍历的集合中。
索引是对数据库集合文档和文档集合的值进行排序的一种结构
1表示升序
-1表示降序

扫描二维码关注公众号,回复: 8692311 查看本文章
db.students.ensureIndex({"name":1)

backgruond:1 :j建立索引要不要阻塞其他数据库的操作默认是false

db.students.ensureIndex({"_id":1,"name":1},{background:1}

在这里插入图片描述
聚合aggregate()
$match:查询,跟 find 一样;
$limit:限制显示结果数量;
$skip:忽略结果数量;
$sort:排序;
$group:按照给定表达式组合结果。

聚合表达式
名称 描述
$sum 计算总和
$avg 计算平均值
min 和min和max 计算最小值和最大值
$push 在结果文档中插入值到一个数组
$addToSet 在结果文档中插入值到一个数组,但不创建副本
$first 根据资源文档的排序获取第一个文档数据
$last 根据资源文档的排序获取最后一个文档数据

列子:代码如下

db.students.aggregate([{$group{_id:"$name",studentsage:{$sum:"$age"}}})

在这里插入图片描述
管道

聚合框架中常用的几个操作:

$project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。
m a t c h match:用于过滤数据,只输出符合条件的文档。 match 使用 MongoDB 的标准查询操作。
$limit:用来限制 MongoDB 聚合管道返回的文档数。
$skip:在聚合管道中跳过指定数量的文档,并返回余下的文档。
$unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值。
$group:将集合中的文档分组,可用于统计结果。
$sort:将输入文档排序后输出。
$geoNear:输出接近某一地理位置的有序文档。
范例:

在这里插入图片描述

发布了80 篇原创文章 · 获赞 15 · 访问量 1877

猜你喜欢

转载自blog.csdn.net/weixin_43319279/article/details/102538324