2015-10-11 104 views
0

我需要做Parse.com以下查詢(僞語言):解析 - 創建兩個一個與查詢或查詢

select all posts where 
    (expired < today OR expired not exists) 
    AND 
    (owner is {user} OR commenter contains {user}) 

我知道在Javascript中我能創建使用Parse.Query.or兩個或查詢,但由於並不似乎是一個Parse.Query.and變種,我不知道我怎麼可以在這兩個或查詢組合成一個單一的查詢。

其他人都建議簡單地使用equalTo多次創造和聲明,但這並不對組合或查詢工作。

回答

1

我不熟悉的解析,這是一個註釋太長,但看到從下面documentation;最後一句話似乎是你所追求的。

複合查詢

如果你想找到匹配多個查詢的一個,你可以使用Parse.Query.or方法來構造的查詢是通過查詢的OR的對象。例如如果你想找到的球員無論誰擁有大量的勝或幾勝,你可以這樣做:

var lotsOfWins = new Parse.Query("Player"); 
lotsOfWins.greaterThan("wins", 150); 

var fewWins = new Parse.Query("Player"); 
fewWins.lessThan("wins", 5); 

var mainQuery = Parse.Query.or(lotsOfWins, fewWins); 
mainQuery.find({ 
    success: function(results) { 
    // results contains a list of players that either have won a lot of games or won only a few games. 
    }, 
    error: function(error) { 
    // There was an error. 
    } 
}); 

您可以添加額外的約束到新創建的Parse.Query充當一個「和」運營商。

+1

我熟悉這片文檔的,它就是我用來創建。或者查詢。不幸的是,最後一部分並沒有幫助我,因爲我試圖結合兩個.or查詢。 – lammert

+0

你應該包括你的代碼,但我理解這意味着Parse.Query.or可以作爲堆疊「和」。所以多次調用它可能就足夠了。 – vol7ron