2015-05-18 92 views
0

我想查詢一個dojo數據存儲對象。商店有多個對象,每個對象都是一個標題爲帶有唯一值的OBJECTID的關鍵字。有沒有辦法像這樣查詢商店:Dojo DataStore查詢 - 使用多個參數進行搜索

dataStoreObjet.query({OBJECTID:6990,OBJECTID:34277,OBJECTID:9501});

現在它只返回最後一個對象。我確信我錯過了一些簡單的東西,但是它讓我瘋狂。我不想爲每個值運行查詢,然後如果不需要,則從所有這些查詢中創建一組新的值。

由於

回答

0

目的{OBJECTID:6990,OBJECTID:34277,OBJECTID:9501}將僅包含一個值,該值的最後的一個。

這是因爲JavaScript對象是屬性及其值的映射。 的{OBJECTID:6990,OBJECTID:34277,OBJECTID:9501}定義同

var obj = { OBJECTID : 6990 }; 
obj.OBJECTID = 34277; 
obj.OBJECTID = 9501; 

正如你可以看到從所述OBJ對象上方包含即的最後一個值。實際上查詢到dataStoreObjet 是

dataStoreObjet.query({OBJECTID : 9501}); 

現在解決您的問題。

您需要傳遞一個函數作爲查詢參數,該參數將比較值並返回true或false,以使對象成爲查詢結果的一部分。

dataStoreObjet.query(function(object){ 
     return (object.OBJECTID == 6990) || (object.OBJECTID == 6990) || (object.OBJECTID == 6990) ; 
}) // Pass a function to do more complex querying