个人案例
我做了两款小程序,都使用了云数据库。 1、小确幸丨记录生活小美好 利用聚合,一次查询直接关联用户表,计算是否点赞和管理权限。 [图片] 利用聚合实现 一次查询,直接返回用户表和内容表的关联,同时用聚合计算出是否点赞、是否有操作权等内容。 之前没有使用聚合的时候,写了三个表,用户表、帖子表、喜欢表。查询需要大量代码,因为每个帖子都需要查询作者和喜欢信息,一度在循环体里嵌套查询语句,代码不好看就算了,效率还特别慢,用户体验较差。 使用聚合之后,直接一次查询解决了,省了大量逻辑代码,用户基本也是秒开,爽啊! 改造先后对比: 之前: 上百行代码,多次查询,需要单独判断函数,处理时间在2000ms以上 之后:一行代码,一次查询,直接查询时算出权限,处理时间在300ms以内 核心代码: const query = [{ //0我的 '_openid': OPENID }, { //1公开 public: true }, { //2喜欢 likes: db.command.all([OPENID]) // likes: $.in([OPENID, '$likes']) }, { //3本周 // createTime: $.gte(['$createTime', getCurDate('weekStart')]) // createTime: _.gte(getCurDate('weekStart')) }, { //4指定 _id: event.id } ] let listData = await db.collection('post').aggregate() .match(query[event.listType]) .sort({ createTime: -1 }) .skip(20 * (event.pageNum - 1)) .limit(20) .lookup({ from: "user", localField: "_openid", foreignField: "_id", as: "postList" })//和用户表关联 .replaceRoot({ newRoot: $.mergeObjects([$.arrayElemAt(['$postList', 0]), '$$ROOT']) })//将用户表信息放到根节点上 .addFields({ day: $.dayOfMonth('$createTime'), month: $.month('$createTime'), year: $.year('$createTime'), time: $.dateToString({ date: '$createTime', format: '%Y年%m月%d日' }), isLike: $.in([OPENID, '$likes']), //判断这个帖子是否喜欢 isLiked: $.in([OPENID, '$liked']), //判断这个帖子是否喜欢过 isAuthor: $.eq(['$_openid', OPENID]), //判断这个帖子是否为作者 isAdmin: $.eq([OPENID, 'oy0T-4yk7lCRFGDefpFC4Yvx_ppU']),//判断是否有管理员权限 like: $.size('$likes'), //喜欢数 }) .project({ postList: 0, userInfo: 0, liked: 0, likes: 0, city: 0, province: 0, country: 0, language: 0, nlp: 0, saveType: 0, })//清除掉不需要的字段 .end() 详细解析:https://developers.weixin.qq.com/community/develop/article/doc/0000ce1ac5c46874855ac2c1051013 2、产品笔记丨发现优秀产品细节 利用数据库高级操作更新文章。 这款小程序因为内容全是自己创作,所以在上传作品的时候非常“偷懒”的使用了云开发的高级操作直接上传作品,这样一来,省去了后台和做不必要的界面,非常方便,数据操作非常方便。 新增操作: [图片] 效果如下: [图片]
#云开发# 你有使用小程序·云开发数据库吗?有什么经典案例可以分享呢?小程序·云开发的数据库,是一个既可在前端操作、也能在云函数中读写的json数据库,对外提供丰富的数据库API。从满足基础可用性到现在,已能够满足中大型小程序的要求。 那么,基于云开发数据库,你做过哪些有意思的小程序实践呢?在这个话题中,我们面向广大开发者(包括个人和企业)征集云开发数据库的使用案例,优秀的案例将有机会获得官方专属访谈与“微信开发者”官方公众号推送宣传分享。 [图片] 案例分享建议包括云开发数据库使用背景与需求,可提供脱敏的代码示例与数据。 参与#云开发#系列话题并提供高质量回答或建议者即有机会获得微信相框Classic一台,快来参加吧! [图片] *获奖情况将在后续「社区每周」公告中公示,如获访谈机会将有官方运营专员通过社区私信联系作者,请及时留意社区私信 *使用小程序云开发过程中的如有疑问或Bug反馈,可在社区云开发版块发帖交流
2020-05-13我也有这个问题 ,请问解决了么?
激励视频报错从另一个页面点进使用激励视频的页面,什么操作也不做就点回退,工具就会报错,并且会崩溃掉,刷新和重新编译都没用,必须关掉重新打开,真机上也会报错,但是不影响后续使用,附上错误截图,图一是测试用的代码片段报的错:Uncaught (in promise) {errMsg: "updateTextView:fail 32865 not found"} [图片] 图二是在项目里报的错::62902/appservice/appservice?t=1568253903742?load:1 Uncaught (in promise) {errMsg: "updateVideoPlayer:fail 32769 not found"} [图片] 并且每次报的错的数字都不一样
2020-05-06解决了么? 我遇到和你一模一样的问题
lottie-miniprogram插件BUG和在IOS和Android设备上不显示并且微信闪退?环境配置 [图片] [图片] 代码部分 <canvas id="c1" type="2d" style="display: inline-block; width: 300px; height: 300px;"></canvas> [图片] [图片] 编辑器运行 [图片]GIF正常 iOS&Android运行 均不显示。Android 9 ,Honor10 COL-AL10 EMUI 9.1.0 会在页面3s左右后闪退。 后不经意发现 [图片] [图片] 这里一些动态Btn会使小程序开发工具报错 [图片] 但相同的json,本人在 这react-native 上使用这两插件是正常的 "lottie-ios": "2.5.3", "lottie-react-native": "2.5.11", 望官方修复一下,谢谢!
2019-10-17我虽然只用了1个id参数,但是最近几天的数据 突然变成了32位,加了id= 直接变成35 生成接口一直报错,刚看日志才发现,坑啊。
小程序云开发_id能不能设置短一点啊?- 需求的场景描述(希望解决的问题) 小程序云开发自动生成的_id太长了,能不能设置为稍微短一些啊? - 希望提供的能力 小程序云开发自动生成的_id太长了,能不能设置为稍微短一些啊? 使用生成小程序码B接口scene只能32个字符,一个_id就占用了16个字符,加上一个key一个等号,就18个字符了,要想再传一个参数就放不下了,能不能某个集合的_id长度由自己设置短一些啊
2019-04-16