Это кажется достаточно простым, но для меня было сложнее, чем следовало бы. Интуитивно, вы должны иметь возможность отфильтровать поля, которые вы не хотите, в beforeSave
. Действительно, это был совет, приведенный в нескольких сообщениях на Parse.com. По моему опыту, на самом деле это будет рассматривать фильтрацию как удаление.
Моя цель была немного иной - я пытался отфильтровать несколько полей и не только сохранить несколько полей, но и перевести их в контекст, вы можете попробовать выполнить запрос к существующей совпадающей записи и переопределить новый объект. Вы не можете отменить через response.failure(), и я не знаю, что произойдет, если вы немедленно сохраните существующую запись с интересующей областью и исключите свойство request.object - вы можете экспериментировать самостоятельно с этим :
Parse.Cloud.beforeSave("Foo", function(request, response) {
// check for master key if client is not end user etc (and option you may not need)
if (!request.master) {
var query = new Parse.Query("Foo");
query.get(request.object.id).then(function(existing) {
exiting.set("some_field", request.object.get("some_field"));
request.object = exiting; // haven't tried this, otherwise, set all fields from existing to new
response.success();
}, function(error) {
response.success();
});
}
});