我有一个应用程序,当用户的帖子有新评论时,会通知用户。我使用解析作为后端。
我有以下数据结构
评论表
的ObjectID
注释
commentedPost
发布表
的ObjectID
createdBy
我已在安装表上设置了一个名为User的指针(到PFUser。
)我尝试在安装时查询commentedPost>发布> createdBy with User。
我已尝试过以下代码:
Parse.Cloud.afterSave('Comments', function(request) {
commentQuery.include("commentedPost");
var post = request.object.get("commentedPost");
var poster = post.get("createdBy");
var query = new Parse.Query(Parse.Installation);
query.equalTo('jooveUser', poster);
Parse.Push.send({
where: query, // Set our Installation query.
data: {
alert: message = 'hahahahahaha'
}
}, {
success: function() {
response.success();
},
error: function(err) {
response.error();
}
});
});
但是,它什么都不做或发送任何通知。我做错了什么?我怎样才能实现我的目标?
答案 0 :(得分:3)
由于您尝试在指针(user
)内抓取指针(post
),因此需要先获取post
指针。对代码的小修改(特别注意代码的fetch().then()
部分):
Parse.Cloud.afterSave('Comments', function(request) {
// read pointer async
request.object.get("commentedPost").fetch().then(function(post){
// 'post' is the commentedPost object here
var poster = post.get('createdBy');
// proceed with the rest of your code - unchanged
var query = new Parse.Query(Parse.Installation);
query.equalTo('jooveUser', poster);
Parse.Push.send({
where: query, // Set our Installation query.
data: {
alert: message = 'hahahahahaha'
}
}, {
success: function() {
response.success();
},
error: function(err) {
response.error();
}
});
});
});
让我知道它是否适合你。