javascript - Parse Platform - 检索对象中的关系

标签 javascript parse-platform

好的,我对 Parse 已经非常熟悉了,并且在日常开发中使用过大部分功能。但是,现在我需要处理一些多对多关系,但似乎无法使其正常工作。我尝试阅读 Stack 上的几篇文章...但没有成功。

任何帮助将不胜感激:

1) 'Projects' 类 =(主要分组类和项目详细信息) a) 'projectTasks' 设置为关系列并指向 Tasks 类。

2) 'Tasks' class =(用户提交并分组到项目中的任务)

3)我希望能够查询某些项目,并同时获取关系数据。

test: function(){
        console.warn("Running relations test....")
        var deferred = $q.defer()
        var Projects = Parse.Object.extend("Projects");
        var query = new Parse.Query(Projects)
        query.equalTo("objectId",Parse.User.current().id)
        query.include("projectTasks")
        query.find({
            success: function(res){
                console.log(res)
                deferred.resolve(res)
            },
            error: function(e,r){
                console.log(e,r)
                deferred.reject(e)
            }
        })

        return deferred.promise
    },

我得到的响应永远不会从关系字段返回实际数据......只是另一个 promise 或其他任何东西。

screen shot of response

也许我的想法是错误的。任何帮助,将不胜感激。我想要存储项目、存储任务,并能够将任务与项目关联并快速检索每个项目的所有信息。

最佳答案

您需要执行第二次查询来获取关系数据,这是第二次异步调用。

test: function(){
    console.warn("Running relations test....")
    var deferred = $q.defer()
    var Projects = Parse.Object.extend("Projects");
    var query = new Parse.Query(Projects)
    query.equalTo("objectId",Parse.User.current().id)
    query.include("projectTasks")
    query.find({
        success: function(res){ // my code just assumes you get an answer.....
            console.log(res)
            res[0].get('projectTasks').query().find().then(tasks => {
               const response = {parent: res, tasks: tasks};
               deferred.resolve(response);
            }

        },
        error: function(e,r){
            console.log(e,r)
            deferred.reject(e)
        }
    })

    return deferred.promise
},

如果在这个答案的现实生活中,您正在获得一组结果,那么调用它的客户端代码可能想要处理第二个调用以在迭代项目时获取任务...

关于javascript - Parse Platform - 检索对象中的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40639337/

相关文章:

javascript - 相对于响应式页面的 SVG 元素重新定位工具提示

javascript - Angular - 在不使用 ng-show 或 ng-hide 的情况下单击时隐藏按钮

ios - 更新到 Parse 1.8.4 pod 后出现 Apple Mach-O Linker 错误

amazon-web-services - 使用 Parse 与 AWS 开发 Web 应用程序的优缺点是什么?

ios - 解析不返回 PFObject

javascript - JQuery 自动完成表单提交

javascript - 将任意参数传递给 Handlebars 助手?

ios - Parse 的 VoIP 推送通知

javascript - 修改带有标签 'multiple' 的输入元素的行为

ios - 实现PFQueryTableViewController搜索功能