不是这个意思,LeanEngine 的作用是在服务端处理数据。
举个例子,我直接用一个 Array 保存点赞的 id,那么获取到的一个 Post 是这样的
{
"id": "34523462346",
"content": "x",
"likes": ["zhang3", "li4", "li5", ... "li10086"]
}
这个直接传给客户端就太大了,可以在云引擎里定义一个函数,请求这个函数的时候会先拿到这个 Post,然后看当前用户是否 like 了该 Post,最后返回的 Post 是这样的
{
"id": "34523462346",
"content": "x",
"liked": true
}
恩 单独一个表就是有一个问题 列表中判断当前用户是否点赞...并且不是每个post请求一个API去判断
可以找我们给 Like 表添加联合唯一索引,然后在 Like 的 afterSave hook 里给 Post +1
把 Like 信息冗余到 Post 里,Post 保存一份「likedUsers」数组,新增 Like 记录的时候同时往 Post 更新这个数组。
cc @z11
不需要用到 CQL,是可以有 in 查询的,拿 js sdk 举例:
new AV.Query('Like')
.equalTo('user', user)
.containedIn('post', postList)
.find();