Utilizzo del servizio QueryImplementingThingsOptimized
Per chiamare il servizio QueryImplementingThingsOptimized per thing shape e i modelli di oggetto, sono disponibili i servizi JavaScript riportati di seguito.
QueryImplementingThingsOptimized
QueryImplementingThingsOptimizedWithTotalCount
È possibile chiamarli in modo analogo al servizio QueryImplementingThings. Per ulteriori informazioni, vedere Utilizzo del servizio QueryImplementingThings. Ad esempio, ThingShapes["shape1"].QueryImplementingThingsOptimized.
WithTotalCount restituisce una infotable contenente il risultato e il numero totale di righe, ignorando un limite massimo di elementi o un offset applicato all'interrogazione. Ad esempio, se si esegue un'interrogazione con maxItems impostato su 5, vengono restituite cinque righe. Tuttavia, il numero totale di righe potrebbe essere uguale a 100, ovvero il numero totale di righe trovate prima di applicare il limite.
Parametri
Di seguito vengono riportati i parametri che si applicano a QueryImplementingThingsOptimized:
Parametri per QueryImplementingThings :
EntityReference parentEntity,
int nMaxItems
TagCollection tagsToCompare,
String nameMask,
Query query,
boolean withData,
boolean withPermissions,
Collection<String> basicPropertyNames,
Collection<String> propertyNames,
Parametri aggiuntivi per QueryImplementingThingsOptimized :
networkName
Nome della rete a cui applicare il filtro. L'interrogazione restituirà solo i risultati trovati da oggetti presenti nella rete.
networkParentNode
Il nome del nodo di livello superiore nella rete specificato in networkName. L'interrogazione restituirà tutti i figli del nodo padre specificato nella rete.
networkMaxDepth
Livello in corrispondenza del quale cercare i figli del nodo padre. 1 restituisce i figli diretti e 2 restituisce figli di figli. Se è impostato su 0 o su default/null, restituisce la gerarchia completa dei figli.
offset
Offset del risultato in base al valore specificato. Ad esempio, se sono presenti 200 risultati nel database con un offset di 5, vengono restituiti i risultati da 5 a 200 (per un totale di 195).
È possibile combinare offset con maxItems per simulare l'impaginazione. Quando si esegue l'interrogazione in un numero elevato di risultati, il tempo di interrogazione può rallentare.
Ad esempio, se in presenza di oggetti da 1 a 1000 maxItems è 5, ogni pagina mostra 5 risultati.
Pagina 1: l'offset è 0. Vengono restituiti i primi 5 risultati, in quanto maxItems è 5.
Pagina 2: l'offset è 5. Vengono restituiti i risultati da 6 a 10.
Pagina 3: l'offset è 10. Vengono restituiti i risultati da 11 a 15.
E così via.
In questo esempio il numero di risultati restituiti è basso, pertanto il tempo di interrogazione è veloce.
Restrizioni
Il servizio QueryImplementingThingsOptimized esegue la ricerca nella cache anziché nel database e vengono applicate le restrizioni riportate di seguito.
È possibile immettere solo le proprietà della thing shape o del modello di oggetto specificati. È possibile specificare le proprietà utilizzando il parametro propertyNames. Se una proprietà è riferita all'oggetto ma non alla thing shape specificata, il servizio genererà un'eccezione.
Non è consentito filtrare o ordinare in base al tipo di password.
Gli oggetti con una proprietà a cui i permessi non consentono di applicare filtri vengono ignorati. Se è richiesta una proprietà non filtrata e non visibile, la proprietà viene restituita come null per l'oggetto.
Ad esempio, si applica un filtro in base alla proprietà prop1 di una determinata thing shape in cui sono presenti Thing1, Thing2 e Thing3. Per Thing1 non è possibile visualizzare prop1, di conseguenza Thing1 verrà ignorato anche se il valore corrisponde al filtro. Verranno restituiti solo Thing2 e Thing3.
Non è consentito filtrare o ordinare in base alle seguenti proprietà di base: homeMashup, Avatar, projectName e isSystemObject.
È stato utile?