你好,whereEqualTo 这个方法传入的第二个参数,可以是对象 AVObject。也就是说,你先拿到目标 _User 的 objectId 通过 createWithoutData 构建对象后,再这样查询即可(Android 示例):

avQuery.whereEqualTo("userName",AVObject.createWithoutData("_User", "567e64f260b20e1fcfb0d659"));
1 人赞了这个帖子.

这是我的代码


这是打印出来的_User的ObjectId

下面是返回的结果。

这是我的后台数据

求指教,这错误不懂了。实在有数据。怎么还报空指针错误了。

表名,对上号了吗?去掉 whereEqualTo 条件有无返回数据?

这是表名

这是我数据库里面的数据。


我仔细比对了。都没错啊。
后面我把whereEqualTo给去掉了,也是没有数据,还会报空指针错误。

你是不是这张表的 find 权限关了,再打印下 AVException 看是什么。

请私信下 App ID。

已私信。。。。。。。。。

你的 ACL 指定了单个用户,所以查不到。

这里指定 objectId 为上面这个的用户,才能读。其他用户读不了。

如果这个用户登陆了的话,是肯定可以查到的。

肯定登陆了。不然不会有AVUser.getCurrentUser()这里就是空的了。

SDK 是什么版本?v3.12.3 我这边测试没有问题。

v3.9.1 实测也可以...要不然你重新登陆下?

贴下 log,===AVOS Cloud=== 找这个,看下 REST API 发出去的请求。