Android - 解析查询.include(“key”)不返回完整的ParseObject详细信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android - 解析查询.include(“key”)不返回完整的ParseObject详细信息相关的知识,希望对你有一定的参考价值。

所以我正在开发一个使用解析v1.16.6的应用程序。我想在Class的查询中包含关系“students”。

这是我的查询的样子:

val query: ParseQuery<ParseObject> = ParseQuery.getQuery("Class")
        query.include("students")
        query.findInBackground(object : FindCallback<ParseObject> {
            override fun done(objects: MutableList<ParseObject>?, e: 
            ParseException?) {
                if (e == null) {

                } else {
                    Log.wtf("Error", e.localizedMessage)
                }
            }
        })
}

这是从拦截器获取的,“学生”关系只返回这个。学生的其他领域不包括在内。

"students":{
"__type":"Relation",
"className":"Student"
}
答案

您不能包含此类关系中的用户。在GitHub上看到这个问题:https://github.com/parse-community/parse-server/issues/4138

建议是在每个单独的对象上使用object.get("relationKey").query().get()(这是JS,需要通过平台进行调整),或者如果需要include功能则使用指针。

编辑:我在下面的评论中讨论的例子

val query: ParseQuery<ParseObject> = ParseQuery.getQuery("Class")
        query.findInBackground(object : FindCallback<ParseObject> {
            override fun done(objects: MutableList<ParseObject>?, e: 
            ParseException?) {
                if (e == null) {
                    val relationQuery: ParseQuery<ParseObject> = ParseQuery.getQuery("Relation")
                    relationQuery.whereMatchesKeyInQuery("classId", "classId", query);
                    relationQuery.findInBackground(....)
                } else {
                    Log.wtf("Error", e.localizedMessage)
                }
            }
        })
}

以上是关于Android - 解析查询.include(“key”)不返回完整的ParseObject详细信息的主要内容,如果未能解决你的问题,请参考以下文章

bzoj3110: [Zjoi2013]K大数查询

整体二分(POJ2104 静态第k大查询)

K大数查询 HYSBZ - 3110

bzoj 3110 K大数查询

BZOJ 3110 [Zjoi2013]K大数查询

备战金三银四2022最新Android大厂面试题解析大全Github标星15k+