Dojo数据存储查询-使用多个参数进行搜索
我正在尝试查询dojo数据存储对象。存储区有多个对象,每个对象作为一个名为OBJECTID的键,具有唯一的值。有没有一种方法可以像这样查询商店: dataStoreObjet.query({OBJECTID:6990,OBJECTID:34277,OBJECTID:9501}) 现在它只返回最后一个对象。我肯定我错过了一些简单的东西,但这让我发疯。我不想为每个值运行一个查询,然后在不需要的情况下从所有这些查询中创建一组新的值 谢谢对象{OBJECTID:6990,OBJECTID:34277,OBJECTID:9501}将只包含上一个值的一个值 这是因为javascript对象是属性及其值的映射。 {OBJECTID:6990,OBJECTID:34277,OBJECTID:9501}的定义与Dojo数据存储查询-使用多个参数进行搜索,dojo,Dojo,我正在尝试查询dojo数据存储对象。存储区有多个对象,每个对象作为一个名为OBJECTID的键,具有唯一的值。有没有一种方法可以像这样查询商店: dataStoreObjet.query({OBJECTID:6990,OBJECTID:34277,OBJECTID:9501}) 现在它只返回最后一个对象。我肯定我错过了一些简单的东西,但这让我发疯。我不想为每个值运行一个查询,然后在不需要的情况下从所有这些查询中创建一组新的值 谢谢对象{OBJECTID:6990,OBJECTID:34277,O
var obj = { OBJECTID : 6990 };
obj.OBJECTID = 34277;
obj.OBJECTID = 9501;
从上面可以看到,obj对象包含最后一个值,即9501。实际上,您对dataStoreObjet的查询
是
现在是你问题的解决方案
您需要传递一个函数作为查询参数,该参数将比较作为查询结果一部分的对象的值并返回true或false
dataStoreObjet.query( function(object){
return (object.OBJECTID == 6990) || (object.OBJECTID == 6990) || (object.OBJECTID == 6990) ;
}) // Pass a function to do more complex querying
dataStoreObjet.query( function(object){
return (object.OBJECTID == 6990) || (object.OBJECTID == 6990) || (object.OBJECTID == 6990) ;
}) // Pass a function to do more complex querying