Push notification 使用Parse.com的关系查询推送通知
我看过教程,但不清楚如何处理以下问题并优化查询。我在一个查询中对每一项进行查询,当然这并不好,因为我确信一个查询就可以完成 我有以下目标: 用户-使用FB日志记录登录的用户 发布-由用户创建的发布(具有名为createdBy的字段,带有指向用户的指针) Installation-用于创建推送的安装对象具有对用户的引用 现在我要做的是按日期查询,查找过期出版物,如下所示: var Publication=Parse.Object.extend(“Publication”);Push notification 使用Parse.com的关系查询推送通知,push-notification,parse-platform,Push Notification,Parse Platform,我看过教程,但不清楚如何处理以下问题并优化查询。我在一个查询中对每一项进行查询,当然这并不好,因为我确信一个查询就可以完成 我有以下目标: 用户-使用FB日志记录登录的用户 发布-由用户创建的发布(具有名为createdBy的字段,带有指向用户的指针) Installation-用于创建推送的安装对象具有对用户的引用 现在我要做的是按日期查询,查找过期出版物,如下所示: var Publication=Parse.Object.extend(“Publication”); var query=新
var query=新建Parse.query(发布);
//在此计算日期……
query.lessThan(“createdAt”,expirationDate);
query.find({
成功:功能(结果){ //我这里有所有的出版物。
//现在我得到了用户
var aPub=结果[i];
var user=aPub.get('createdBy');
var query2=新建Parse.Query(Parse.Installation);
查询2.equalTo(“用户”,用户) //现在我为每个用户发送推送
Parse.Push.send({
其中:查询2,
数据:{……
…
我相信这可以通过一个查询来完成,但我不明白怎么做
谢谢。对于查询的第二部分,它仍然使用多个查询,但只有一个API调用
var userQuery = new Parse.Query(Parse.User);
userQuery.equalTo("objectId", aPub.get('createdBy')id;
// Find devices associated with these users
var pushQuery = new Parse.Query(Parse.Installation);
pushQuery.matchesQuery('user', userQuery);
// Send push notification to query
Parse.Push.send({
where: pushQuery,
data: {}
}, {
success: function() {
// Push was successful
},
error: function(error) {
// Handle error
}
});`
此外,您不需要使用find()
。您可以研究以下方法:
谢谢,但是我应该在哪里设置查询。lessThan(“createdAt”,expirationDate);因为查询不包括发布对象?您应该在查询中设置它,以便仍然获得发布列表。然后,使用matchesKeyInQuery()方法为用户构建关系查询。