个人案例
- 每日事项
一款用云开发实现待办事项小程序。
每日事项扫码体验
- 数据库同一条记录可能有两种类型能否在一条数据库查询语句分别求和?
数据类型如下: [{ _id: 1, price: 100, type: 0, }, { _id: 2, price: 200, type: 1, }, { _id: 3, price: 150, type: 0, }] 我的问题是能否在一条云开发数据库查询语句里求出 type = 0 时的 price 总和,还有 type = 1 时的 price 总和? 我现在的方法比较笨,就是写了两次数据库查询,分别match,然后求和。请问如何优化? let res1 = await recordDb .aggregate() .match({ time: _.gte(startTime).and(_.lte(endTime)), type: 0, }) .group({ _id: null, totalPrice: $.sum('$price'), }) .end(); let res2 = await recordDb .aggregate() .match({ time: _.gte(startTime).and(_.lte(endTime)), type: 1, }) .group({ _id: null, totalPrice: $.sum('$price'), }) .end();
2020-06-15 - 云函数云数据库日期比较怎么写?
需求很简单,把当天(国庆当天)订单所有金额合计一下,调试不出来,查阅了论坛都提到数据库聚合日期比较没法比呀: [代码]const res = await db.collection([代码][代码]'orders'[代码][代码])[代码][代码] [代码][代码].aggregate()[代码][代码] [代码][代码].addFields({[代码][代码] [代码][代码]matched: $.and([$.gt([[代码][代码]'$addTime'[代码][代码], [代码][代码]new[代码] [代码]Date([代码][代码]'10/1/2019'[代码][代码])]), $.lt([[代码][代码]'$addTime'[代码][代码], [代码][代码]new[代码] [代码]Date([代码][代码]'10/2/2019'[代码][代码])])])[代码][代码] [代码][代码]})[代码][代码] [代码][代码].match({[代码][代码] [代码][代码]sellerId: openid,[代码][代码] [代码][代码]status: $.neq(-1),[代码][代码] [代码][代码]matched: [代码][代码]true[代码][代码] [代码][代码]})[代码][代码] [代码][代码].group({[代码][代码] [代码][代码]_id: [代码][代码]null[代码][代码],[代码][代码] [代码][代码]totalFinalSum: $.sum([代码][代码]'$finalSum'[代码][代码])[代码][代码] [代码][代码]})[代码][代码] [代码][代码].end()[代码]
2019-10-01 - 云开发Aggregate.match阶段不支持时间比较?
查不到数据,不想用addFields+match的方式 const start = new Date('2020-09-01 00:00:00').toJSON() const end = new Date('2020-09-30 00:00:00').toJSON() db.collection('') .aggregate() .match({ time: _.gte( $.dateFromString({ dateString: start, }) ).lte( $.dateFromString({ dateString: end, }) ) }) .end()
2021-01-12 - 小程序新 Canvas 接口公测
各位开发者: 为了提高 Canvas 组件的性能,我们计划在小程序基础库 v2.9.0 正式开放一套全新的 Canvas 接口。该接口符合 HTML Canvas 2D 的标准,实现上采用 GPU 硬件加速,渲染性能相比于现有的 Canvas 接口有一倍左右的提升。现邀请广大开发者参与 Canvas 接口的公测。 公测需使用 iOS v7.0.5 版本,接口用法可参考该代码片段。 欢迎广大开发者参与公测,如有问题,请在本帖下方评论反馈。 微信团队 2019.08.29
2019-08-29