【问题标题】:Create new object with relation in Parse with React Native使用 React Native 在 Parse 中创建具有关系的新对象
【发布时间】:2015-09-30 16:32:20
【问题描述】:

似乎没有关于如何使用ParseReact.Mutation.Create 创建具有Parse-ReactNative 关系的新解析对象的文档。我求助于这个:

function createRow(relatedObject, data) {
  ParseReact.Mutation.Create('objectClass', data)
    .dispatch()
    .then(function(newRow) {
      ParseReact.Mutation.AddRelation(newRow, 'relationColumn', relatedObject)
    });
}

创建新的objectClass Parse Object,但relationColumn 列不显示与给定relatedObject 的关系。

关于如何做到这一点的任何想法,最好在一个查询中使用ParseReact.Mutation.Create?

【问题讨论】:

    标签: parse-platform reactjs react-native


    【解决方案1】:

    所以我的代码正在使用ParseReact.Mutation.AddRelation,这里是:

    ParseReact.Mutation.AddRelation({
                              "className": newRow.className,
                              "objectId": newRow.id.objectId}, 'groceryRequestRelation',[{
                              "__type":"Pointer",
                              "className":"ClassThePointerPointingTo",
                              "objectId":"ObjectIdOfClassThePointerIsPointingTo"
                            }]).dispatch()
    

    @naoisegolden 你没有把.dispatch() 放在AddRelation 的末尾,所以这可能是个问题。

    另一件让我永远弄清楚的事情是我在AddRelation 中使用了错误 objectId,我应该 使用 指针指向的类的objectId,但我使用的是类的objectId relation 属于...

    如果这仍然不适合您,请尝试使用 REST 方式执行此操作:

    var data = {
          "groceryRequestRelation":{"__op":"AddRelation",
          "objects":
          [{
            "__type":"Pointer",
            "className":"ClassThePointerIsPointingTo",
            "objectId":"ObjectIdOfClassThePointerIsPointingTo"
          }
          ]
        }
      };
    
            var url = "https://api.parse.com";
            url += "/1/classes/Classname/objectId";
            fetch(url, {
                method: 'put',
                headers: {
                    'Accept': 'application/json',
                    'X-Parse-Application-Id': PARSE_APP_ID,
                    'X-Parse-REST-API-Key': PARSE_REST_KEY,
                    'Content-Type': 'application/json'
                },
                body: JSON.stringify(data)
            })
            .then((response) => {
              console.log("inside add relation rest")
              console.log(response);
              return response.json();
            })
            .then((responseText) => {
              console.log(responseText);
            })
            .catch((error) => {
              console.warn(error);
            })
            .done();
    

    【讨论】:

    • 为 AddRelation 添加 dispatch() 对我有用。谢谢凯文!
    • 您还可以将对象数组作为 AddRelation 中的最后一个参数传递。例如。如果你想将该关系添加到一个类中,你可以传递一个 User 对象数组。
    • @muttapp np,很高兴为您提供帮助!
    猜你喜欢
    • 1970-01-01
    • 2013-02-17
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多