Push notification 使用Parse.com的关系查询推送通知

Push notification 使用Parse.com的关系查询推送通知,push-notification,parse-platform,Push Notification,Parse Platform,我看过教程,但不清楚如何处理以下问题并优化查询。我在一个查询中对每一项进行查询,当然这并不好,因为我确信一个查询就可以完成 我有以下目标: 用户-使用FB日志记录登录的用户 发布-由用户创建的发布(具有名为createdBy的字段,带有指向用户的指针) Installation-用于创建推送的安装对象具有对用户的引用 现在我要做的是按日期查询,查找过期出版物,如下所示: var Publication=Parse.Object.extend(“Publication”); var query=新

我看过教程,但不清楚如何处理以下问题并优化查询。我在一个查询中对每一项进行查询,当然这并不好,因为我确信一个查询就可以完成

我有以下目标:

用户-使用FB日志记录登录的用户

发布-由用户创建的发布(具有名为createdBy的字段,带有指向用户的指针)

Installation-用于创建推送的安装对象具有对用户的引用

现在我要做的是按日期查询,查找过期出版物,如下所示:

var Publication=Parse.Object.extend(“Publication”);
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()方法为用户构建关系查询。