今天早上新开了一个项目,单独写了一个 调用脚本 调先前 返回所有记录那个 云函数,这次返回的结果是 正常的,回返回了 4条记录,并且 按 point 积分字段进行了排序 个人怀疑 是不是 开发工具本身会有相应的 数据缓存,我中午回原先那个开发环境做同样的实验来对照着看看结果。 事实上,数据库中类似的问题,不止遇到过一次 之前有一次用 json文件导入数据库的方式,给云数据库初始化,但是做了好几次导入,insert 跟 upsert 两种不同的导入方式都试过,导完检查数据库,发现里面的数据还是老数,不是刚刚成功导入的 json文件中的数据,但是第二天似乎又可以成功导入
小程序云函数查询数据 排序orderBy 跟 limit均不生效,只是返回表中所有记录?想实现一个 对 用户积分表,进行查询后筛选排序前4条记录,官方文档中似乎是说 单在小程序端不提供 排序功能,故放在 云函数中进行查询、 排序,并取 前4条符合条件的记录。 数据表设计如下,grade 字段为 number类型,表示年级,具体实现中,是打算查询 1年级中 积分 前4名的 积分记录。 [图片] 云函数查询代码如下,使用了官方手册中能查到的两种方式查询,均不能成功筛选,代码如下 // 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init(); const db = cloud.database(); const $ = db.command.aggregate // 云函数入口函数 exports.main = async (event, context) => { try{ //let rank = // await db.collection('rank') // .where({ // grade: 1 // }) // .get({ // success: (res) => { // console.log(res.data); // } // }) return db.collection('rank') .aggregate() .match({ grade: 1 }) .sort({ point: -1 }) .limit(4) .end() } catch (error) { return error; } // return rank; // let rank = await db.collection('rank').aggregate() // .match({ // grade: 1 // }) // .sort({ // point: -1, // }) // .limit(4) // .end(); //console.log(rank); } 疑惑的是,用 where 语句进行筛选时,成功返回了2次,那2次返回值均按 point字段进行了排序,并且 只返回 4条记录。 然而 在后续的编码测试中,两种方式都不能按要求返回 4条记录,也没有 按 point进行排序, 为方便排查原因,已经 将 grade 字段直接 匹配数字1,以排除传参问题。 [图片] 小程序端调用代码如下 [图片] 请问如何正确的实再 上述功能,查询 并返回 指定表 某字段 排序 后的前4条记录,我前面的代码没能实现功能,具体问题出在哪里?
2020-04-24一般来说,这种需求通常都是最后在一个 button的click事件里判定页面上是不是有 input 没填,而没填的 input bindinput事件根本不会被触发,所以上述两位的方法基本不太适用,谢谢回答。
怎样判断input 控件中没有输入内容,内容为 空?有一段算法需要验证 input控件中内容是否为空, [图片] 按上图将控件与一数值绑定,但是在用下图中方法判定 input中是否有内容输入,无论使用 == 或===比对,控件内容均显示为 空。 [图片] console.log(that.data.ans0)也不能打印出任何值。 怎样处理,才能正确判断出 input中内容是否为空?
2020-04-19