阅读标题,当用户创建帖子时,应删除以前的帖子。它没有用。
Pheed
包含user
和comment
个字段。
更新:现在Can't Serialize an unsaved Parse Object
返回新代码。
更新:新答案有效,但仅使用afterSave
删除全部,需要以某种方式保留最新状态/评论
Parse.Cloud.beforeSave("Pheed", function(request, response) {
var user = new Parse.User({id:request.user.username});
var query = new Parse.Query("Pheed");
query.equalTo("user", user);
query.find({
success: function(results) {
for (i = 0; i < results.length; i++) {
results[i].destroy({});
};
results.save();
response.success();
}
,
error: function(object, error) {
response.error();
}
}); // find
});// beforeSave
答案 0 :(得分:2)
这是使用Promises和Parse.Query上的.each方法实现此目的的方法。
Parse.Cloud.beforeSave("Pheed", function(request, response) {
var query = new Parse.Query("Pheed");
// Assuming "user" is a Pointer column of to ParseUser (_User)
query.equalTo("user", request.user);
query.each(function (obj) {
return obj.destroy();
}).then(function() {
response.success('Deleted all Pheeds for this user.');
});
}
答案 1 :(得分:0)
1)从request.params获取参数。 2)“Pheed”上的用户栏是否真的包含用户名?有一个指向用户的指针会更好(而且列名更有意义)。
如果是,请发送带有请求的user.objectId,然后......
var user = new Parse.User({id:request.params.userId});
var query = new Parse.Query("Pheed");
query.equalTo("user", user);
如果“Pheed”对象确实保留了用户名,那么你可以这样做:
var query = new Parse.Query("Pheed");
query.equalTo("user", request.params.username);