Dienst "QueryImplementingThingsOptimized" verwenden
Der Dienst QueryImplementingThingsOptimized kann mit den folgenden JavaScript-Diensten für Dingformen und Dingvorlagen aufgerufen werden:
QueryImplementingThingsOptimized
QueryImplementingThingsOptimizedWithTotalCount
Sie können diese Dienste auf die gleiche Weise aufrufen wie den Dienst QueryImplementingThings. Weitere Informationen finden Sie unter Dienst "QueryImplementingThings" verwenden. Beispiel: ThingShapes["shape1"].QueryImplementingThingsOptimized.
WithTotalCount gibt eine Infotable zurück, die das Ergebnis und die Gesamtanzahl der Zeilen enthält. Dabei wird ein auf die Abfrage angewendeter Versatz oder Grenzwert für die maximale Anzahl von Elementen ignoriert. Wenn Sie beispielsweise eine Abfrage durchführen, bei der maxItems auf 5festgelegt ist, werden fünf Zeilen zurückgegeben. Die Gesamtanzahl der Zeilen kann jedoch 100 betragen; dies ist die Gesamtanzahl von Zeilen, die vor dem Anwenden des Grenzwerts gefunden wurden.
Parameter
Die folgenden Parameter gelten für QueryImplementingThingsOptimized:
Parameter für QueryImplementingThings:
EntityReference parentEntity,
int nMaxItems
TagCollection tagsToCompare,
String nameMask,
Query query,
boolean withData,
boolean withPermissions,
Collection<Zeichenfolge> basicPropertyNames,
Collection<Zeichenfolge> propertyNames,
Zusätzliche Parameter für QueryImplementingThingsOptimized:
networkName
Der Netzwerkname, nach dem gefiltert werden soll. Die Abfrage gibt nur Ergebnisse zurück, die für Dinge in diesem Netzwerk gefunden wurden.
networkParentNode
Der Name des obersten Knotens in dem Netzwerk, das in networkName angegeben ist. Die Abfrage gibt alle Kinder aus dem angegebenen Eltern-Knoten im Netzwerk zurück.
networkMaxDepth
Die Ebene, auf der nach Kindern des Eltern-Knotens gesucht werden soll. 1 gibt direkte Kinder zurück, und 2 gibt Kinder von Kindern zurück. Wenn der Parameter auf 0 oder "default/null" festgelegt ist, wird die vollständige Hierarchie von Kindern zurückgegeben.
offset
Der Versatz des Ergebnisses um den angegebenen Wert. Wenn beispielsweise 200 Ergebnisse in der Datenbank vorliegen und ein Versatz von 5 angegeben ist, werden die Ergebnisse 5 bis 200 (also insgesamt 195) zurückgegeben.
Sie können offset mit maxItems kombinieren, um Paginierung zu simulieren. Je mehr Ergebnisse Sie abfragen, desto länger kann die Abfrage dauern.
Beispiel: Die Dinge 1 bis 1000 sind vorhanden, und maxItems ist auf 5 festgelegt, d.h., auf jeder Seite werden 5 Ergebnisse angezeigt.
Seite 1: offset ist 0. Die ersten 5 Ergebnisse werden zurückgegeben, da maxItems auf 5 festgelegt ist.
Seite 2: offset ist 5. Die Ergebnisse 6 bis 10 werden zurückgegeben.
Seite 3: offset ist 10. Die Ergebnisse 11 bis 15 werden zurückgegeben.
Und so weiter.
In diesem Beispiel werden nur wenige Ergebnisse zurückgegeben, daher ist die Abfrage schnell abgeschlossen.
Einschränkungen
Der Dienst QueryImplementingThingsOptimized sucht nicht in der Datenbank, sondern im Cache, und es gelten die folgenden Einschränkungen:
Nur Eigenschaften für die angegebene Dingform oder Dingvorlage können eingegeben werden. Eigenschaften können mit dem Parameter propertyNames angegeben werden. Wenn eine Eigenschaft für das Ding, aber nicht für die angegebene Dingform vorhanden ist, löst der Dienst eine Ausnahme aus.
Das Filtern oder Sortieren nach Passworttyp ist nicht zulässig.
Dinge mit einer Eigenschaft, die aufgrund von Berechtigungen nicht gefiltert werden kann, werden ignoriert. Wenn eine nicht gefilterte und nicht sichtbare Eigenschaft angefordert wird, wird sie für dieses Ding als NULL zurückgegeben.
Beispiel: Sie filtern nach der Eigenschaft prop1 einer bestimmten Dingform, wobei Thing1, Thing2 und Thing3 vorhanden sind. Für Thing1können Sie prop1 nicht sehen. Daher wird Thing1 ignoriert, selbst wenn sein Wert dem Filter entspricht. Es werden nur Thing2 und Thing3 zurückgegeben.
Das Filtern oder Sortieren nach den folgenden grundlegenden Eigenschaften ist nicht zulässig: homeMashup, Avatar, projectNameund isSystemObject.
War dies hilfreich?