Создать новый объект с отношением в синтаксическом анализе с React Native


По-видимому, нет документации о том, как создать новый объект Parse с отношением с Parse-ReactNative с использованием ParseReact.Mutation.Create. Я прибегнул к этому:

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?

1 6

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, так что это может быть проблемой.

Еще одна вещь, которая заняла у меня целую вечность, чтобы понять, что я использую неправильно objectId в пределах моего AddRelation, я должно быть используя objectId класса, который указатель указывает на, но я использовал objectId класса, к которому принадлежит relation к...

Если это все еще не работает для вас, попробуйте сделать это другим способом:

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();