云函数中Aggregate聚合查询最多返回20条?

最近用户反馈了一个bug:一个统计数据不准确。经过我无数次debug和log后,发现云函数聚合查询最多只能返回20跳数据,关键是在云数据库中的sql模版里面执行这个语句返回的数据总量是正常的!
于是在官方文档中各种查找,也没有找到官方的说明,无法验证我的猜想是否正确。无意间看到一个Aggregate.limit函数,于是抱着试一试的心态用了一下,果然管用,查询的结果条数也大了。哎,记录一下,恭喜自己又踩坑成功。
不过还有几点需要说明:1 增大数据量会影响整个云函数的效率,所以应该手动配置云函数的最大执行时间(感觉腾讯在控制服务器压力还是非常大的,所以很多地方对效率限制的死死的);2 尽管调整limit大小可以暂时解决问题,但是并没有一劳永逸的解决,查询结果还是有超过limit的一天,到时候这个又失灵了,我觉得可以从两个方面处理:a修改业务需求,对于统计类数据可以由具体数字改为‘。。。’或‘99+’等;b在limit中的参数可以以变量的形式先查询出来,再赋值,不过要注意数值多大引发的效率问题。
ok,总结完毕。
我在开发中遇到的更多的坑都已经记录在easyDemo小程序中,希望我的demo能给你easy。我还会持续更新easyDemo,欢迎收藏。


easyDemo.jpg