文档的分页查询 | 学习笔记

简介: 快速学习 文档的分页查询

开发者学堂课程【MongoDB精讲课程(上):文档的分页查询学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/726/detail/12959


文档的分页查询


内容介绍

一、统计查询

二、分页列表查询

三、排序查询

 

一、统计查询

分页之前需要先把集合统计出来,集合里面有多少个数据,即有多少个文档。

统计查询使用 count() 方法,语法如下:

db.collection.count(query,options)

参数:

Parameter

Type

Description

query

document

查询选择条件。

options

document

可选。用于修改计数的额外选项。

提示:可选项暂时不适用。

【示例】

1、统计所有记录数

统计 comment 集合的所有的记录数:

db.comment.count()

2、按条件统计记录数

例如:统计 userid 1003的记录条数

db.comment.count({userid:1003})

提示:默认情况下 count() 方法返回符合条件的全部记录条数。

 

二、分页列表查询

现有5条数据,将12分为一页,34分为一页,5作为最后一页,共为三页。

image.png

可以使用 limit() 方法来读取指定数量的数据,使用 skip() 方法来跳过指定数量的数据。基本语法方式如下所示:

>db.COLLECT_NAME.find().limit(NUMBER).skip(NUMBER)

如果想返回指定条数的记录,可以在 find 方法后调用 limit 来返回结果(TopN),默认值20,例如:

db.comment.find().limit(2)

执行后出现前四条,没有实现分页查询。可以使用 skip 方法。

skip 方法同样接受一个数字参数作为跳过的记录条数。(前 N 个不要),默认值是0

db.comment.find().skip(3)

分页查询:需求:每页2个,第二页开始;跳过前两条数据,接着只显示34条数据

//第一页

db.comment.find().skip(0).limit(2)

//第二页

db.comment.find().skip(2).limit(2)

//第三页

db.comment.find().skip(4).limit(2)

 

三、排序查询

sort()方法对数据进行排列, sort() 方法可以通过参数指定排序的字段,并使用1-1来指定排序的方式,其中1为升序排列,而-1是用于降序排列。语法如下所示:

db.COLLECT_NAME.find().sort({KEY:1})

db.集合名称。Find()sort(排列方式)

例如:

userid 升序排列

db.comment.find({}{userid:1}).sort({userid:1})

userid 降序排列,并对访问量进行升序排列

db.comment.find().sort({userid:-1,likenum:1})

提示:

skip() , limit() , sort() 三个放在一起执行的时候,执行的顺序是先 sort() ,然后是 skip() ,最后是显示的 limit() ,和命令编写的顺序无关。

相关文章
|
缓存 小程序 数据库
小程序页面之间(传值)传递数据的方法
小程序页面之间(传值)传递数据的方法
471 63
|
Python
dataframe 中float转字符串
要将DataFrame中的浮点数列转换为字符串列,可以使用`astype()`方法将列的数据类型转换为字符串。以下是一个示例: 假设有一个DataFrame `df`,其中包含一个名为`column_name`的浮点数列: ```python import pandas as pd # 示例DataFrame df = pd.DataFrame({'column_name': [1.0, 2.5, 3.2, 4.7]}) # 将浮点数列转换为字符串列 df['column_name'] = df['column_name'].astype(str) # 打印转换后的DataFrame
738 0
|
算法 Python
实用算法题:excel表列序号与十进制数字的互相转化算法讲解!
实用算法题:excel表列序号与十进制数字的互相转化算法讲解!
435 0
|
4天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1094 152
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1771 9
|
10天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
703 152