2014-03-06 91 views
2

我已經看到了教程,但它不清楚如何處理以下問題並優化我的查詢。我正在查詢每個項目的查詢,當然這不好,因爲我確信它可以用一個查詢來完成。推送通知與關係查詢與Parse.com

我有下列對象:

用戶 - 登錄使用FB記錄用戶

公開 - 由用戶(創建的出版物有一個稱爲createdBy的指針用戶字段

Parse.Installation - 用於創建推送的安裝對象,具有對用戶的引用。

現在我正在做的是按日期查詢,查找過期的出版物如下:

var Publication = Parse.Object.extend(「Publication」);
var query = new Parse.Query(Publication);
//計算日期......
query.lessThan(「createdAt」,expirationDate);
query.find({
成功:函數(結果){

//這裏我所有的出版物
//現在我得到了用戶
VAR aPub =結果[I];
。 VAR =用戶aPub.get( 'createdBy');
變種QUERY2 =新Parse.Query(Parse.Installation);
query2.equalTo( '用戶',用戶);

//現在我發送推動每個用戶
Parse.Push.send({
其中:QUERY2,
數據:{....
...
...

我相信這可以用一個查詢來完成,但我不明白如何。

謝謝。

回答

3

對於查詢的第二部分,這仍然使用多個查詢,但只有一個API調用。另外,您不需要使用find()。你可以看看這些方法:

containedIn()

matchesQuery()

matchesKeyInQuery()

+0

謝謝,但我在哪裏設置query.lessThan( 「createdAt」,到期日期);因爲查詢不包括髮布對象? –

+1

您應該在查詢中設置此項,以使您獲得發佈列表。然後,使用matchesKeyInQuery()方法爲用戶構建關係查詢。 –