微信小程序云开发 云函数阶段聚合Aggregate阶段,突破limit为20的限制,使获取数量可以无限
Posted YunusQ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序云开发 云函数阶段聚合Aggregate阶段,突破limit为20的限制,使获取数量可以无限相关的知识,希望对你有一定的参考价值。
微信小程序云开发 云函数阶段聚合Aggregate阶段,突破limit为20的限制,使获取数量可以无限
在实际问题中,我们使用Aggregate聚合操作的一系列接口,比如sort排序,match操作。会出现获取数据的数量最多只有20条的问题
这里是原始代码
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
const $ = db.command.aggregate
// 云函数入口函数
exports.main = async (event, context) =>
const content = db.collection('data').aggregate()
.sort(onlineFlag:1)
.end()
.then(res=>
return res
)
return content
我们可以通过增加addField和group操作来实现获取无数量限制的数据
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
const $ = db.command.aggregate
// 云函数入口函数
exports.main = async (event, context) =>
const content = db.collection('girlList').aggregate()
.sort(onlineFlag:1)
.addFields(
tempTag:1 //增加一个临时标签,group中使用
)
.group(
_id:'$tempTag',
orders:$.push('$$ROOT') //一次性拉取超过100条或者1000条记录
)
.end()
.then(res=>
return res.list[0].orders
)
return content
以上是关于微信小程序云开发 云函数阶段聚合Aggregate阶段,突破limit为20的限制,使获取数量可以无限的主要内容,如果未能解决你的问题,请参考以下文章