2015-12-16 67 views
0

我正在Parse中使用多個元素創建一個查詢。問題是我的查詢只返回第一個和最後一個結果,我不知道爲什麼。任何對這個問題的洞察力或更好的方式來查詢多個對象將不勝感激。解析查詢只返回第一個和最後一個查詢

var GroupDetailObject = Parse.Object.extend("Group_Detail"); 
var query = new Parse.Query(GroupDetailObject); 
var tempQuery = new Parse.Query(GroupDetailObject); 

query.equalTo("groupId", { 
    __type: "Pointer", 
    className: "Groups", 
    objectId: groups[0].objectId 
}); 

for (ss = 1; ss < groups.length; ss++) { 
    tempQuery.equalTo("groupId", { 
     __type: "Pointer", 
     className: "Groups", 
     objectId: groups[ss].objectId 
    }); 
    query = Parse.Query.or(query, tempQuery); 
} 

query.find({ 
+0

它很可能'Parse.Query.or'只是不斷的指針'tempQuery'和更晚使用其內容(當你真正發送查詢)。在這種情況下,'tempQuery'將包含您設置的最後一個條件(多次進行ORed)。然後您需要在循環的每次迭代中創建一個新的'tempQuery'。 – jcaron

+0

謝謝jcaron。這就是發生了什麼事。我移動了'var tempQuery = new Parse.Query(GroupDetailObject);'在for循環中並且查詢成功完成。 – Mardymar

回答

0
var GroupDetailObject = Parse.Object.extend("Group_Detail"); 
var query = new Parse.Query(GroupDetailObject); 

for (ss = 1; ss < groups.length; ss++) { 
    var tempQuery = new Parse.Query(GroupDetailObject); 
    tempQuery.equalTo("groupId", { 
     __type: "Pointer", 
     className: "Groups", 
     objectId: groups[ss].objectId 
    }); 
    query = Parse.Query.or(query, tempQuery); 
} 
相關問題