我正在尝试建立一个解析查询,该查询将在最近3分钟内检索最新的活动用户。 使用PFCloud还是仅使用简单的Parse查询,如何实现?

首选iOS示例。

#1楼 票数:0

最简单的方法是拥有一个虚拟字段,您每次用户活动时都将其更新。 不幸的是,您不能在与用户关联的InstallationUser对象上放置此字段,因为它们受到保护-除非您使用PFCloud调用来处理它。 但是,云代码调用非常昂贵,如果要大量运行此调用,我建议您使用第二个不受保护的Object类,您可以正常查询该类。

  1. 创建具有两个字段的对象类OnlineInfo。 一个字段是指向User对象的指针,另一个字段是其中带有Date的'lastOnline'字段。

像这样存储ping:

- (void)updateLastOnline
{
  PFQuery *query = [PFQuery queryWithClassName:@"OnlineInfo"];
  //Store the objectID for the associated OnlineInfo object as a pointer field "onlineInfo" on the User object
  [query getObjectInBackgroundWithId:[[PFUser currentUser] objectForKey"onlineInfo"] block:^(PFObject *onlineInfo, NSError *error) {
    // Do something with the returned PFObject in the gameScore variable.
    [onlineInfo setObject:[NSDate date] forKey:@"lastOnline"];
    [onlineInfo saveInBackground];
  }];
}

然后,您可以使用带有两个日期的标准PFQuery对该“安全”对象进行查询,您可以在我的帖子中找到以下日期PFQuery by date

注意:您可能还需要确保仅每隔x分钟调用一次,以防止针对您的Parse安装发送垃圾邮件。 您每秒可以免费获得30个请求,因此您可能不希望每分钟或每5分钟发送一次以上。

#2楼 票数:0 已采纳

这是一种实现方法:

// Set a date variable equal to 3 minutes ago
var date = NSDate()
var threeMinutesAgo = date.dateByAddingTimeInterval(-180)
// I'm using the updatedAt column in a User class
let query = PFQuery(className: "_User")
query.whereKey("updatedAt", greaterThanOrEqualTo: threeMinutesAgo)    
query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]!, error: NSError!) -> Void in
    if error == nil && objects.count > 0 {
        // Do something with queried objects ... 
    } else {
        // Some error handling ...
    }
}

请注意,这仅在您定义中的“活动用户”是已与Parse数据库进行交互或通过数据库中的关系进行交互的用户时才有效。

  ask by Benedict Chen translate from so

未解决问题?本站智能推荐:

2回复

异时数据库

在我的数据库中查看这次的情况(我正在使用parse.com): 我的代码: 详细了解它在应用程序中的外观: 可能会发生什么?
1回复

如何查询最近3天创建的对象? [parse.com]

用户可以在我的应用程序中发布内容,我希望用户可以查看最近3天的内容。 我可以使用一个wherekey来查找最近3天的帖子吗? 我正在使用parse作为后端。
2回复

Parse.com —在Swift中使用日期对象进行查询

我的数据库中的解析对象具有日期字段。 我想使用用户选择的日期作为查询。 我不确定如何设置此“ janFirst”字段。 我知道必须以某种方式格式化解析检索,但是这种格式是什么。 我尝试在NSDate对象中设置组件,但似乎不起作用。 还有一件事:检索需要小时和秒,甚至年份
1回复

Parse.com查询有两个日期

我的数据库中的解析对象有一个日期字段,我必须将其用作过滤器,以向用户显示特定日期的某些结果。 我要求用户选择一个带有UIPickerDate的日子,他们正在使用这个约束创建一个查询: 问题是,即使我使用UIDatePickerModeDate设置UIPickerDate,日期也包含时间
1回复

ios swift parse.com:如何从多个对象中选择数据?

chosenCardSetObjects是一个NSMutableArray ,它包含一组PFObjects 。 我现在想为所有这些给定对象选择数据。 如何在这里传递我的chosenCardSetObjects其中包含我要搜索的所有对象? equalTo可以容纳一个对象,因此一
1回复

如何以编程方式将图像上传到Parse.com?

我要上传大量图像,最好的方法是让我的应用程序帮我完成。 但是在复制并粘贴Parse文档中的代码后,它不起作用。 我究竟做错了什么?
1回复

Parse.com + NSDate:将解析的检索日期转换为本地时区

我在从解析中下载对象时遇到了一个非常困难的问题,即是“今天”。 我正在下载的对象是事件。 每个都有一个startTime属性(NSDate)-存储事件的日期和时间。 通过阅读parse文档和stackoverflow.com上的其他问题,Parse中的日期将存储为“ UTC”时区。
1回复

Parse.com - JSON导入日期字段错误

我正在尝试将一些JSON数据导入到Parse.com中的一个表中。 这样做时,我收到以下错误: 导入遇到以下错误:错误111:密钥startDate的无效类型,预期日期,但得到字符串 数据如下: 我对日期格式进行了修改,但无济于事。 只是尝试导入一些数据,并且必须使用JS