使用 React Native 在 Parse 中创建具有关系的新对象

Create new object with relation in Parse with React Native

似乎没有关于如何使用 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 解析对象,但 relationColumn 列未显示与给定 relatedObject.

的关系

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

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

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

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

另一件让我永远弄清楚的事情是我在 [=14] 中使用了错误的 objectId =],我应该objectId的class那个指针指向,但我使用的是relation所属的class的objectId...

如果这仍然不适合您,请尝试使用 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();