工作流程
事件流程
逻辑问题修正
1.代码段选择
已知条件以及目标 | 涉及表 | 代码段名称 |
已知A表的一条记录的id,获取该条记录 | A表 | 唯一性字段获取记录信息 |
已知A表的某一个字段的值(非id),获取该条或者多条记录 | A表 | 标准查询 (当已知条件不存在时会无条件查询所有数据) |
已知A表的一组记录id(多条),获取这一组id的记录 | A表 | 批量唯一性字段获取记录信息 |
已知A表的单条记录id,要删除该条记录 | A表 | 通过ID删除记录 |
已知A表的多条记录id(id数组),要删除对应多条记录 | A表 | 批量删除 |
已知我要创建记录的字段的内容,要创建一条新的记录 | A表 | 标准新建 |
已知A表的某条条记录id,要更新某些字段的值 | A表 | 标准新建 |
已知A表的id,要在原有字段值基础上做计算或者拼接(增量更新,例如:点赞数、评论数等数字的+1 -1的变动) | A表 | 根据id更新node信息 |
已知A表的多条记录的id以及对应记录需要更新的字段和值,要一次性将id数组对应的记录更新 | A表 | 批量更新 |
如果我在前面创建了一条记录,需要在后面立即能够查询到 | A表 | 数据库刷新 (该操作尽量少用,比较影响性能) |
已知当前有登录用户,我要拿到登录用户的id | user表(auth) | 获取用户ID |
已知当前有登录用户,我要拿到登录用户的角色 | user表(auth) | 获取用户角色 |
需要获取上几个代码段查询或者获取的数据,使用调试代码段的方式,审查对应变量,然后会在页面刷新或者发送请求时在console中看到对应的调试代码段所审查的变量的值或者数据 | 调试代码段 |
2.添加代码段操作(代码段支持 收藏夹功能,方便添加代码段)
如果任务页面是手机端页面,并且需要判断用户登录,必须修改以下代码(增加"session","wxlogin","passport",):
return /*INSPOINTBEGIN:MIDDLEDEP*/ ["session","wxlogin","passport",doPrepare, "bodyparser", process] /*INSPOINTEND:MIDDLEDEP*/ ;
根据表的存储位置或者类型来确定使用的代码段
2.1 标准数据库
主要常用代码段标准查询、标准新建、批量更新、根据id获取node信息等等
2.2 标准模块(如auth)
主要使用的代码段获取用户id、获取用户角色、判断用户登录等等,另外和restful API类似,调用接口的方式
2.3 Restful数据库
主要使用方式是调用第三方的API接口来获取数据或者更新数据
2.4 PG数据库
待补充
3.常见关系处理方式
见 手册
4.常见逻辑处理方式
常见逻辑 | 详细描述 | 处理方式 |
共同好友数量 | 查看自己(登录人)和好友的共同好友 | 参见 |
点赞/取消点赞 | 点赞操作和取消点赞操作 | 参见 |
读取私有文件 | 获取私有文件信息 | 参见 |
按首字母排序文档 | 如将联系人按姓氏的首字母ABCD去排序 | 参见 |
直播的录入 | 直播录入页面的操作方法 | 参见 |
上传图片的路径获取 | 如何获取上传图片的存储路径 | 参见 |
5.常见模块
点击查看 模块列表
模块名称 | 相关的代码段 | 相关文档 |
auth | 获取用户id、登录判断、获取用户角色等等 | 点击查看 |
6.注意事项
1. 标准查询代码段使用搜索时,如果不能够确定使用什么搜索方式,可以选择 查询表达式的方式(该方式支撑多字段查询),使用查询表达式时,对应搜索的字段为中文需要设置为分词,如果没有分词,请咨询技术经理;另外使用查询表达式时在后续如果没有规定的时间或者固定的顺序,那么设置排序条件为 近似度(_score)
2. 标准查询代码段使用时,如果不需要搜索,该字段设置有分词,使用短语搜索;该字段未设置分词,使用词相等
3. 采集器:在需要接受上一个代码段返回的参数时,可使用 采集器的方式接收
4. 时间查询:在使用 标准查询搜索条件为时间时,必须使用范围查询,如果是当前时间可用固定值now代替(now/d当天、now/M当月、now/w本周等),如果是传入的单个时间,那么需要将该时间转为范围的时间区间(转换方法moment(时间).startOf("day")和moment(时间).endOf("day")来获取指定时间的当天上下限,当月month,当年y/year,季度quarter,周week,小时hour等,如果需要的是昨天比如now-1d/d,前天now-2d/d等等 ).
5. 插入代码段过程中如果涉及一些之前的临时变量或者字段名等等的问题,在插入代码段之前,将相关的变量名复制到临时的文本编辑器中,在插入代码段的过程中再从文本编辑器中复制粘贴进入界面中。
6. 禁止直接修改生成的代码,即使你知道方法,如果需要修改代码段,使用代码段编辑功能,如果不支持的向技术经理反馈。
7.如果涉及 非标准数据库的信息点时,如果不能自行确认,请咨询技术经理
8.本身页面的后端代码,只用于添加登录判断或注册验证或权限判断等,其他逻辑一概通过视口的方式解决。
9. 获取两个日期之间的间隔 ,如:年(years);月(months);日(days);时(hours);分(minutes);秒(seconds)等,用date.diff(date1,"days/years/...")方法。例如:获取当前时间和指定时间相差多少天:moment().diff("2016-12-20T08:13:02Z","days")
10. 聚合代码段的使用
1) 查询代码段获取数据,每次不能超过一百,超过百条的时候,请切换使用聚合代码段。
11. 时间计算:判断选择的日期是否在指定的日期范围内。 详细内容
12.模糊查询:对于像手机号( 数字类型字符串)、省,市,区( 字符类型字符串)等搜索条件,想要实现对这些搜索条件的 模糊查询,在选用逻辑查询条件时,查询表达式或模糊查询等都不能对这些搜索条件实现模糊查询效果时。请选用 通配符搜索(通配符查询是最简单的正则查询,*可以匹配任意个(包括0)字符,而?精确匹配一个字符。通配符查询会忽略分词。) 详细内容
13.查询类代码段返回数量根据页面逻辑做出判断后进行设置:
情况一:页面显示数据不涉及分页时,查询代码段返回数据数量可以设置100000这样的大数值。
情况二:页面显示数据涉及分页时,查询代码段返回数据数量设置应和页面数据显示每页的数量相等。(例:页面没一页显示数据10条,那查询代码段返回数量也应该设置10条)