query.include("a");

query.include("b");

最终获取到的数据就可能没有字段 a 对应的数据
obj=list.get(0).getAVObject("a")
obj为null

对应class中数据是有a字段的。
这是bug,还是我写的不对呢?
(在debug下直接查看获取到的数据中也没有字段a的数据,甚至连字段a这个entry都找不到)

      instanceData =  size = 5

0 = "digUsers" -> " size = 1"
1 ="comments" -> " size = 5"
2 = "albumPhotos" -> " size = 1"
3 ="albumContent" ->
4 ="isDel" -> "false"

以上是我include("creator")之后获取到的数据。
而原本数据应该包含creator的,但是现在没有了。
如果不添加include,就能获取到creator

你看一下我之前发的一个帖子,有人给我回复,我按照那个解决了~~~

我的问题和你的还有点不一样,我是整个脸creator这个pointer数据都没有了。麻烦帮忙看一下

哦~~
我不知道我能不能帮上你哈。我只是说一下我这边的正常方案(肯定有效)
假如说,我的表TotalTable里有个字段是pointer,指向一个TestTable里的记录,字段名叫ptrTestTable,那么我的查询是这样写的:

var CompleteCloudQueryResult = function(rec, field) {
    var t = rec.get(field);
    rec.set(field, t ? t.toJSON() : null);
}

var ToString = function (_obj) {
    return JSON.stringify(_obj);
}

var q = new AV.Query("TotablTable");
q.inlcude('ptrTestTable');
q.get('xxxxx').then(function(ret) {
    CompleteCloudQueryResult(ret, 'ptrTestTable');
    console.log(ToString(ret));
});

上面,就可以在log里打印出包含了ptrTestTable的详细信息。

不知道这段代码能不能帮到你。

1 人赞了这个帖子.