1. 创建对象的时候,设置为只有自己可读,可写。

AVACL avacl = new AVACL();

avacl.setReadAccess(AVUser.getCurrentUser(),true);
avacl.setWriteAccess(AVUser.getCurrentUser(),true);
order.setACL(avacl);
order.setFetchWhenSave(true);
order.save();

  1. 后台看设置成功

  2. 客户端查询列表,返回空,查询代码如下:

AVQuery query = new AVQuery("Order");
// query.whereEqualTo(Order.CREATED_BY, AVUser.getCurrentUser(User.class).getObjectId());
query.orderByDescending(Order.CREATED_AT);
List ordetList = query.find();

问题: 1.ACL设置跟表的查询权限,有啥关联关系?
2. 为什么ACL设置为只有自己可读可写,查询不到数据?

谢谢!

你好
1、进行数据库改动时,会先检查 class 权限,如果 class 权限可以放行,再检查 ACL 权限,此时如果 ACL 权限可以放行,就可以正常查出数据。
2、建议将查询结果的 error 打印出来,看下具体错误信息是什么。