微信小程序云开发读取数据超过20,云函数读取超过100条限制,获取云开发数据库集合里的所有数据的方法
> 这是一篇关于讲解如何正确使用**51CTO博客-Markdown**的排版示例,希望通过此,大家都能轻松上手,都能通过**M> 看过石头哥云开发基础课的同学肯定都知道,直接在小程序里请求数据每次最多只能返回20条数据,云函数里请求数据每次最多只能返回100条数据,如果想突破这个限制,最好的方式就是做分页,当然分页我在云开发基础里也有教大家。但是限制存在这么一个需求,如果我们想一次性的拿到数据库里存的所有数据呢,比如数据库里有1000条数据,我们想一下子全部拿到,该怎么做呢???
![](https://img-blog.csdnimg.cn/20210628103956169.png)
今天就来教大家如何通过云函数每次最多返回100条的限制。
## 一,云函数突破100条的限制
![](https://img-blog.csdnimg.cn/20210628104523624.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70)
如上图所示,我的num集合里有103条数据,如果按照之前的分页思路,就是分两次请求,第一次请求1-100条,第二次请求101-103条。这样我们虽然是可以拿到103条数据,但是要做两次请求,我们该如何做,才能一次请求就可以获取这103条数据呢。
## 1-1,突破100条的原理
其实原理和我们分页的原理是一样的,只不过我们用for循环做多次请求,然后把这多次的请求组合到一起,然后把组合好的数据一次性全部返回。这样就通过一次请求获取所有数据。
## 1-2,代码实现
这里的代码是写在云函数里,操作步骤我都在注释里给大家写出来。
![](https://img-blog.csdnimg.cn/20210628110616742.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70)
如上图所示,我们只需要通过三个步骤,就可以拿到所有的103条数据了。
![](https://img-blog.csdnimg.cn/20210628110728391.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70)
这样我们就可以通过一次请求,获取所有的数据了。是不是感觉很简单。这里把代码贴出来给到大家。
```
// 云函数入口文件
const cloud = require(‘wx-server-sdk‘)
// 云开发环境初始化
cloud.init({env: cloud.DYNAMIC_CURRENT_ENV})
exports.main = async (event, context) => {
const db = cloud.database()
// 1,获取数据的总个数
let count = await db.collection(‘num‘).count()
count = count.total
// 2,通过for循环做多次请求,并把多次请求的数据放到一个数组里
let all = []
for (let i = 0; i [] ()\ ),就可以轻松写出一篇具有良好的排版和可读性的文章。
## 语法示例
### 1.基本语法
一些常规的语法格式。
#### 1.1 标题
标题用#+空格表示,不同数量的#可以表示不同的标题
\# Heading 1
\## Heading 2
\### Heading 3
\#### Heading 4
\##### Heading 5
\###### Heading 6
#### 1.2 粗体和斜体粗体
在需要操作的文字前后各加三个“*”
**这个是粗体**斜体:在需要斜体的文字前后各加一个“*”
*这个是斜体*用粗体加斜体:在需要操作的文字前后各加三个“*”
***这个是粗体加斜体***
#### 1.3 删除线删除线语法
在需要删除的文字前后各使用两个符合“~~”~~要删除的文字~~
#### 1.4 引用
符号“>”后面书写文字。示例:
>?这个是引用
#### 1.5 目录
可通过:@\[toc\](目录) 生成目录。
#### 1.6 空行
如需空行,则可\?+回车换行。
### 2.LaTeX公式
LaTeX数学公式有两种:行中公式和独立公式(行间公式)。行中公式放在文中与其它文字混编,独立公式单独成行。
#### 2.1 行内公式
`=mc^2$`
=mc^2$
#### 2.2 独立公式
`$=mc^2$$`
$=mc^2$$
#### 2.3 复杂公式
```language
$$\begin{array}{c}
abla imes ec{\mathbf{B}} -\, rac1c\, rac{\partialec{\mathbf{E}}}{\partial t} &
= rac{4\pi}{c}ec{\mathbf{j}}
abla \cdot ec{\mathbf{E}} & = 4 \pi
ho
abla imes ec{\mathbf{E}}\, +\, rac1c\, rac{\partialec{\mathbf{B}}}{\partial t} & = ec{\mathbf{0}}
abla \cdot ec{\mathbf{B}} & = 0
nd{array}$$
```
$$\begin{array}{c}
abla imes ec{\mathbf{B}} -\, rac1c\, rac{\partialec{\mathbf{E}}}{\partial t} &
= rac{4\pi}{c}ec{\mathbf{j}}
abla \cdot ec{\mathbf{E}} & = 4 \pi
ho
abla imes ec{\mathbf{E}}\, +\, rac1c\, rac{\partialec{\mathbf{B}}}{\partial t} & = ec{\mathbf{0}}
abla \cdot ec{\mathbf{B}} & = 0
nd{array}$$
更多语法参考:[Markdown 编辑器添加 Latex数学公式教程](https://blog.51cto.com/51ctoblog/2847177)
### 3.代码高亮
#### 3.1 普通
```
*emphasize* **strong**
_emphasize_ __strong__
@a = 1
```
#### 3.2 语法高亮支持
如果在 ``` 后面跟随语言名称,可以有语法高亮的效果,如:
##### 3.2.1 html/xml 代码高亮示例
```html
Document
```
##### 3.2.2 Python高亮示例
```Python
#!/usr/bin/python3
# Fibonacci series: 斐波纳契数列
# 两个元素的总和确定了下一个数
a, b = 0, 1
while b 支持语言有: `HTML/XML`, `JSON`, `Bash`, `CSS`, `Java`, `JavaScript`, `PHP`, `Python`, `Rust`, `C/C++` …
### 4.绘制表格
> | Column 1 | Column 2 | Column 3 |
| -------- | -----: | :----: |
| cell 1 | cell 2 | cell 3 |
| cell 4 | cell 5 | cell 6 |
| cell 7 | cell 8 | cell 9 |
| Column 1 | Column 2 | Column 3 |
| -------- | -----: | :----: |
| cell 1 | cell 2 | cell 3 |
| cell 4 | cell 5 | cell 6 |
| cell 7 | cell 8 | cell 9 |
### 5.Todo列表
语法:
> \- [ ] **社区直播公开课开展情况**
> \- [x] 5分钟搞定俄罗斯方块---组件化实战
> \- [x] 服务早期红利与各项技术场景创新分析
显示:
- [ ] **社区直播公开课开展情况**
- [x] 5分钟搞定俄罗斯方块---组件化实战
- [x] 服务早期红利与各项技术场景创新分析
### 6.链接
支持直接粘贴链接地址。链接语法和显示如下:
语法1:`[链接名称](http://链接网址)`
显示:[链接名称](http://链接网址)
或语法2:``
显示:
### 7. 图片
可通过上传按钮上传图片,也支持直接粘贴图片,也支持拖拽上传图片。图片语法和显示如下:
语法:`![请添加链接描述](图片地址)`
显示:\!\[请添加链接描述](图片地址)
### 8. 有序列表&有序列表
无序列表的使用,在符号“-”后加空格使用。如下:
- 列表项
- 列表项
- 列表项
如果要控制列表的层级,则需要在符号“-”前使用空格。如下:
- 列表项
- 列表项
- 列表内容
- 列表内容
有序列表的使用,在数字及符号“.”后加空格几个,如下:
1. 列表项
2. 列表项
1. 列表内容
2. 列表内容
1. 子列表内容
2. 子列表内容
3. 子列表内容
### 9. 分割线
可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,同时需要在分隔线的上面空一行。
例:
`-------`
`*****`
`______`
-------
*****
______
### 10. 符号转义
如果你的描述中需要用到 markdown 的符号,比如 `# *` 等,但又不想它被转义,这时候可以在这些符号前加反斜杠,如 `\ # * `进行避免。
### 11. 导入和导出
支持正文导出`.md`的文档,支持导入.md格式的文档。
导入:支持导入本地 `.md `格式的文档
导出:正文内容可以导出本地`.md`格式的文档
### 12. 其他说明
使用富文本编辑器发布的内容只能富文本编辑器编辑,不可切换Markdown编辑器;
使用Markdown编辑器发布的内容只能Markdown编辑器编辑,不可切换富文本编辑器编辑。