Uso del servicio QueryImplementingThingsOptimized
Para llamar al servicio QueryImplementingThingsOptimized para las definiciones de cosa y las plantillas de cosa, están disponibles los siguientes servicios JavaScript:
QueryImplementingThingsOptimized
QueryImplementingThingsOptimizedWithTotalCount
Se pueden llamar de la misma manera que se llamaría al servicio QueryImplementingThings. Para obtener más información, consulte Utilización del servicio QueryImplementingThings. Por ejemplo, ThingShapes["shape1"].QueryImplementingThingsOptimized.
WithTotalCount devuelve una infotable que contiene el resultado y el número total de filas, desestimando un límite máximo de elementos o un desvío aplicado a la consulta. Por ejemplo, si se consulta con maxItems definido en 5, se devuelven cinco filas. Sin embargo, el número total de filas puede ser igual a 100, que es el número total de filas encontradas antes de aplicar el límite.
Parámetros
Los siguientes parámetros se aplican a QueryImplementingThingsOptimized:
Parámetros para QueryImplementingThings:
EntityReference parentEntity,
int nMaxItems
TagCollection tagsToCompare,
String nameMask,
Query query,
boolean withData,
boolean withPermissions,
Collection<String> basicPropertyNames,
Collection<String> propertyNames,
Parámetros adicionales para QueryImplementingThingsOptimized:
networkName
El nombre de red por el que se va a filtrar. La consulta solo devolverá los resultados de las cosas que se encuentran en esa red.
networkParentNode
El nombre del nodo superior de la red especificado en networkName. La consulta devolverá todos los hijos del nodo padre especificado en la red.
networkMaxDepth
El nivel en el que se deben buscar los hijos del nodo padre. 1 devuelve hijos directos y 2 devuelve hijos de hijos. Si se define en 0 o por defecto/nulo, se devuelve la jerarquía completa de los hijos.
offset
El desvío del resultado según el valor especificado. Por ejemplo, si hay 200 resultados en la base de datos con un desvío de 5, se devuelven los resultados de 5 a 200 (un total de 195).
Se puede combinar offset con maxItems para simular la paginación. Cuanto más profundice una consulta en un gran número de resultados, el tiempo de consulta puede ser más lento.
Por ejemplo, existen las cosas 1 a 1000 y maxItems es 5, por lo que en cada página se muestra 5 resultados:
Página 1: offset es 0. Se devuelven los 5 primeros resultados porque maxItems es 5.
Página 2: offset es 5. Se devuelven los resultados del 6 al 10.
Página 3: offset es 10. Se devuelven los resultados del 11 al 15.
Y así sucesivamente.
En este ejemplo, el número de resultados devueltos es bajo, por lo que el tiempo de consulta es rápido.
Restricciones
El servicio QueryImplementingThingsOptimized busca en la caché en lugar de en la base de datos y se aplican las siguientes restricciones:
Solo se pueden entrar las propiedades de la definición de cosa o la plantilla de cosa especificadas. Las propiedades se pueden especificar mediante el parámetro propertyNames. Si una propiedad está en la cosa, pero no en la definición de cosa especificada, el servicio producirá una excepción.
No está permitido filtrar ni clasificar con el tipo de contraseña.
Se desestiman las cosas con una propiedad que no se puede filtrar debido a los permisos. Si se solicita una propiedad que no se filtra y no es visible, se devolverá como nula para la cosa.
Por ejemplo, se está filtrando con la propiedad prop1 de una definición de cosa determinada, donde Thing1, Thing2 y Thing3 existen. Para Thing1, no se puede ver prop1; por lo tanto, Thing1 se desestimará incluso si su valor coincide con el filtro. Solo se devolverán Thing2 y Thing3.
No está permitido filtrar ni clasificar con las siguientes propiedades básicas: homeMashup, Avatar, projectName e isSystemObject.
¿Fue esto útil?