优化Parse以查询新对象

时间:2015-10-02 07:03:39

标签: ios objective-c algorithm parse-platform pfquery

我正在使用Parse作为我正在开发的应用程序的后端。我想知道是否有一个最佳算法来查询“看不见的”新对象。

我计划做的是将用户添加到被查看对象的关系,然后查询所有对象以检查用户是否缺席。这似乎是O(n *所有看到'n'的用户)的复杂性有点太多了。

另一种方法是将对象添加到用户的密钥“see”中,然后查询用户未看到的所有对象。

也许一种更有效的方法(假设我按时间顺序查看这些对象)是标记我看到的第一个和最后一个对象,并且只使用createdAt键在这些点之前或之后显示。然后我想从这些点向外显示新对象,而不必分成​​多个查询。

理想情况下,我想在对象中进行随机播放,但我也希望尽可能保持此算法的有效性。

1 个答案:

答案 0 :(得分:0)

创建一个名为View的类。每个视图都包含一个来自可查看对象的唯一标识符(不能是OBJECTID)和一个指向查看该对象的用户的指针。

您的查询应该是:

//(Simple equalTo query)
Query1 = All View Objects where User pointer = User

//(whereKey:that-unique-id-column doesNotMatchKey:that-unique-id-column inQuery:Query1)
Query2 = All viewable Objects where not included in pointers in Query1