//这里用async await 获取一下 集合中记录的总数 ,这样比较方便。。。
chaxunout: async function () {//查询函数this.setData({year1:this.data.year1,//获取picker时间控件的值,下同year2:this.data.year2,month1:this.data.month1,month2:this.data.month2,day1:this.data.day1,day2:this.data.day2,chaxunshijian1:this.data.chaxunshijian1,chaxunshijian2:this.data.chaxunshijian2//totalnum:true})this.data.outcome=[]//用于xml页面的输出let that = this  //建议小白以后都这样做,不然真的会出现一些弱智的问题,懂得都懂。。const db = wx.cloud.database({env: '这里放你自己的云开发环境id'});if(that.data.chaxunshijian1>that.data.chaxunshijian2){wx.showToast({title: '开始时间需要早于结束时间!',})}else{const _=db.commandconsole.log("开始",that.data.chaxunshijian1)console.log("结束",that.data.chaxunshijian2)let c = db.collection("outcome_list").where({chaxunshijian:_.gte(that.data.chaxunshijian1).and(_.lte(that.data.chaxunshijian2)),}).orderBy("time","desc"); //获取集合中记录的总数let total = await (await c.count()).totallet batchTimes = Math.ceil(total / 20)if(total==0){that.setData({totalnum:false})}else{that.setData({totalnum:true})}console.log("总条数",total)console.log("时间",that.data.year1) console.log("时间",that.data.year2) console.log("次数",batchTimes) //计算需要获取几次  比如你有36条数据就要获取两次 第一次20条第二次16条let arraypro = [] // 定义空数组 用来存储每一次获取到的记录 // that.setData({//   outcome: arraypro// })
let money=0
this.setData({jine1:0
})let x = 0 //这是一个标识每次循环就+1 当x等于batchTimes 说明已经到了最后一次获取数据的时候//没错,循环查询,看着就觉得很影响性能,但是么的办法。for (let i = 0; i < batchTimes; i++) {//分组获取//outcome_list是数据库的表名db.collection("outcome_list").skip(i * 20).where({//chaxunshijian为outcome_list表中的字段chaxunshijian:_.gte(that.data.chaxunshijian1).and(_.lte(that.data.chaxunshijian2)),//条件查询:时间范围}).orderBy("time","desc").get({//根据时间排序success: function (res) {x += 1// 20个20个的获取 最后一次不够20 那就是剩下的for (let j = 0; j < res.data.length; j++) {arraypro.push(res.data[j])//arraypro存放查询数据库后的结果money=parseInt(money)+parseInt(res.data[j].jine)}//判断是否是最后一次,如果是说明已经不用再继续获取了,这时候就可以赋值了if (x == batchTimes) {console.log("失败",arraypro)that.setData({outcome: arraypro,//outcome是用于界面输出的jine1:money})// console.log(that.data.year1)}}})}}
},

微信小程序云开发记账本计算总金额,查询突破二十条数据的限制,条件查询、根据时间排序相关推荐

  1. 微信小程序云开发如何实现读取和下载excel文件导入数据到云数据库中?简单好理解

    一般我们在开发中会遇到通过excel文件一键导入数据的模板操作,我们在微信小程序中可以使用node-xlsx插件来解析excel文件的内容变成以json格式的数据返回. 在处理该操作的云函数中下载安装 ...

  2. 微信小程序·云开发 云数据库的使用教程

    最近一直在折腾微信小程序,刚开始是用的python tornado 加上MongoDB自己搭建的后台,做完了一个之后.打算纯粹的使用微信小程序云开发来做一个.这篇文章就是云数据库使用的一些总结. 刚开 ...

  3. 微信小程序云开发用户身份登录_你必须要掌握的微信小程序云开发

    微信小程序开发已经成为目前最火爆的技能之一,无论是在求职.毕设.兴趣培养等方面都已经成为一项必备技能,而小程序云开发技术的出现更是点燃了整个小程序生态圈. 在2019微信公开课PRO小程序分论坛上,腾 ...

  4. 微信小程序云开发 · 从0搭建商业级校园跑腿平台(已开源)

    微信小程序云开发  ·  从零搭建商业级校园跑腿平台 小秃僧 新生代农民工,一枚准毕业的大四学生,热爱前端开发,做个有态度.有思想.有价值的公众号. 好久不更新了,再更新已是打工人! 我将分享用云开发 ...

  5. 微信小程序云开发及背后的云服务支持。

    文章目录 导语 什么是微信小程序云开发? 云开发的优势 云开发的技术生态支持 微信云开发主要能力特性 云数据库: 云函数: 云存储: 身份认证: 云调用: 云开发与传统开发的模式区别 小程序云开发带来 ...

  6. 【微信小程序云开发】使用云函数(node.js)实现多张图片转成pdf的功能,且pdf带水印

    最近在做项目的时候,碰到一个功能需要多张图片转成pdf的功能,首先,在网上找了很多资料,都没有一个合适的. 后来,就自己动手使用云函数写了一个处理图片转成pdf的云函数,而且需带水印. 直奔主题,使用 ...

  7. 【小程序】微信小程序云开发笔记详细教程(建议收藏)

    1- 前言 1.1 微信云开发是什么? 微信云开发是微信团队联合腾讯云推出的专业的小程序开发服务. 开发者可以使用云开发快速开发小程序.小游戏.公众号网页等,并且原生打通微信开放能力. 开发者无需搭建 ...

  8. 微信小程序--云开发之获取多条数据(大于限制20条)

    前言 微信小程序云开发中的获取数据API一次最多获取20条记录,那么怎么获取全部记录呢? 方法一 利用上拉刷新,每上拉一次(触碰底部时触发function)便获取20条记录,然后与原来记录合并. js ...

  9. 技本功丨收藏!斜杠青年与你共探微信小程序云开发(下篇)

    2019年2月26日,人们为了一个杯子疯了一天. 星巴克猫爪杯,一场已经与猫无关了的"圣杯战争".网上的倒卖价格,已炒至近千元! 求而不得,舍而不能,得而不惜.这是人最大的悲哀.. ...

最新文章

  1. 两个点 定位_深圳Mark点定位的一般原理与步骤
  2. 深入理解javascript之this
  3. ActiveReports中如何在后台导出运行时绑定数据源报表
  4. 无忧考吧python编译环境不存在_python:flake8找不到不存在的方法
  5. 在Win10删除Ubuntu时直接删除分区后,如何删除启动项(EFI)
  6. html dd自动换行,为什么我的dd里面的内容没有自动换行呢
  7. call 和 apply 的使用
  8. redhat7.2创建本地yum源
  9. 【Jackson】jackson 语法介绍 关键字
  10. JZOJ 3455. 【NOIP2013模拟联考3】库特的向量(code)
  11. python从入门到精通百度云资源-Python从入门到精通(资源汇总)
  12. Atititi 版本管理 rc final rtm ga release 软件的生命周期中一般分4个版本
  13. html中文网页设计作品
  14. coap协议详解 服务器,COAP协议解析和简单打包实现
  15. 利用CSS3中的clac()实现按照屏幕分辨率自适应宽度
  16. 数据库实战踩坑指南1:取前N项,需要WITH TIES
  17. DSP TMS320F2803x 增强型捕获模块(eCAP)
  18. SQL Server 2008附加mdf文件连接数据库18456错误
  19. 苹果中国应用商店改为人民币结算 可网银充值
  20. 一键清除锁屏密码:苹果手机忘记锁屏密码的解决方案

热门文章

  1. linux创建nginx用户
  2. Android 悬浮窗在主界面点击显示悬浮窗界面后,再通过后台,调起app,界面依然是悬浮窗的界面,解决思路
  3. 下 终端_新零售场景下显示终端市场规模超300亿,助面板市场复苏
  4. vue 饿了么ui 日期选择器 修改样式
  5. linux ps -ef命令输出详解,Linux下ps命令的10个基本例子
  6. 游戏测试------第1章
  7. 软件工程专业毕业生的就业前景分析
  8. mysql教材课后题答案玩具_使用sql分析玩具商品数据
  9. Druid学习笔记(一) - 监控功能的开启
  10. 2022年Frm 二级学习笔记