var photoKeys = [
        'descript',
        'user',
        'user.username',
 ];
var photoQuery = new AV.Query("Photo");
photoQuery.include('user');
photoQuery.include(['user.username']);
photoQuery.select(photoKeys);

结果打印出来 user的属性username没有返回来 只有id

你好,如果是 Photo 里有个字段 user 指向 _User 表,那只需要第一个 include() 就可以了。如下:

var query = new AV.Query('Photo');
query.addDescending('updatedAt');
query.limit(10);
query.include('user');
query.find().then(function(photos) {
    var user = photos[0].get('user');
    console.log(user.get('username'));
}, function(error) {
  console.log(error);
});

请再理解一下: https://leancloud.cn/docs/js_guide.html#关系查询5 最后一部分对 include() 方法使用的说明。

我还想限制user的返回字段 所以只要第二个include, 现在问题是 我需要返回photo 里面包含user 而不是只返回user

我知道 这样可以拿到 user 但是如果返回photos[0] 在客户端解析的时候,就拿不到photo中user的其他字段了