Definición del modelo de ThingWorx en Composer > Modelado > Fragmentos de código > QueryImplementingThingsOptimizedWithTotalCount
QueryImplementingThingsOptimizedWithTotalCount
Descripción
Este servicio se puede utilizar para consultar las cosas que implementan la plantilla de cosa o la definición de cosa en la que se ejecuta el servicio. El resultado es una infotable en la que se incluyen las cosas que implementan la plantilla o la definición de datos y los valores de propiedad de la plantilla de cosa o la definición de cosa en las que se ejecuta la consulta.
Entrada
Nombre del parámetro
Descripción
Tipo base
maxItems
Número máximo de elementos que se devolverán en el conjunto de resultados. El valor por defecto es 500. Este parámetro se aplica después de aplicar todos los otros filtros.
NUMBER
tags
Las etiquetas de modelo asociadas al origen de esta entrada.
TAGS
nameMask
El patrón de nombres para las entidades que implementan la plantilla de cosa o la definición de cosa.
STRING
query
Los criterios de consulta que se utilizan para filtrar los datos.
Los filtros solo se pueden escribir para las propiedades efectivas de la plantilla de cosa o la definición de cosa en la que se ejecuta el servicio.
Para obtener más información, consulte Parámetro de consulta para servicios de consulta.
QUERY
withPermissions
Si el valor es verdadero, se incluye información de permiso en el resultado.
BOOLEAN
basicPropertyNames
Una infotable en la que se incluye una lista de propiedades básicas, como isSystemObject, nombre, descripción, homeMashup, avatar y etiquetas.
La definición de datos esperada para la infotable es EntityList.
INFOTABLE
propertyNames
Una infotable en la que se incluye una lista de propiedades específicas de la plantilla de cosa o la definición de cosa. Las propiedades especificadas se deben definir en la plantilla de cosa o la definición de cosa en la que se ejecuta el servicio.
La definición de datos esperada para la infotable es EntityList.
INFOTABLE
networkName
El nombre de red por el que se va a filtrar. La consulta solo devolverá los resultados de las cosas de esa red.
networkParentNode
Nombre del nodo superior de la red especificado en networkName. La consulta devolverá todos los hijos del nodo padre especificado en la red.
STRING
networkMaxDepth
Profundidad máxima para buscar en la red. La consulta devuelve la jerarquía completa de los hijos si este valor se define en 0, que es el valor por defecto.
INTEGER
offset
El número de filas que se deben omitir antes de empezar a devolver filas de la consulta. Si se define en el valor por defecto de 0, la consulta devolverá todas las filas. Se puede utilizar para paginar los resultados.
NUMBER
Salida
Nombre del parámetro
Descripción
Tipo base
result
Se devuelve una infotable en la que se incluye la lista de cosas que implementan la plantilla de cosa o la definición de cosa y las propiedades solicitadas de la plantilla de cosa o la definición de cosa y sus valores. La definición de datos para la infotable es ImplementedThingsWithTotalCount.
INFOTABLE
Ejemplo
Entidad
ShapeProp1
ShapeProp2
ShapeProp3
ThingShape1
Definido
N/D
N/D
ThingShape2
N/D
Definido
N/D
ThingShape2
N/D
N/D
Definido
Entidad
Plantilla de cosa padre
Prop1
Prop2
Prop3
Prop4
Definición de cosa implementada
Propiedades de efectividad
Template1
Definido
N/D
N/D
N/D
ThingShape1
Prop1, ShapeProp1
Template2
Template1
Heredado de Template1
Definido
N/D
N/D
ThingShape2
Prop1,
Prop2,
ShapeProp1,
ShapeProp2
Template3
Template2
Heredado de Template2
Heredado de Template2
Definido
N/D
Prop1,
Prop2,
Prop3,
ShapePropy1,
ShapeProp2
Template4
Template2
Heredado de Template2
Heredado de Template2
N/D
Definido
ThingShape4
Prop1,
Prop2,
Prop4,
ShapeProp1,
ShapeProp2,
ShapeProp4
Entidad
Implementa
Etiquetas de modelo
Prop1
Prop2
Prop3
Prop4
Thing1
Template1
{vocabulary: "MT1", vocabularyTerm: "MT1-MTerm1"}
Val1-1
Thing2
Template2
{vocabulary: "MT1", vocabularyTerm: "MT1-MTerm1"}
Val2-1
Val2-2
Thing3
Template3
{vocabulary: "MT1", vocabularyTerm: "MT1-MTerm1"}
Val3-1
Val3-2
Val3-3
Thing4
Template4
{vocabulary: "MT1", vocabularyTerm: "MT1-MTerm2"}
Val4-1
Val4-2
Val4-4
En la siguiente consulta, en la infotable resultante se incluyen las propiedades básicas solicitadas (nombre, descripción, etiquetas, homeMashup), las propiedades solicitadas en la plantilla de cosa (Prop1) y el nombre de la cosa.
El siguiente código permitirá consultar la implementación de cosas con datos mediante todos los parámetros soportados.
var params = {
infoTableName : "InfoTable",
dataShapeName : "EntityList"
};
// CreateInfoTableFromDataShape
var basicpropInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
// EntityList entry object
var basicProp1 = new Object();
basicProp1.name = "name";
basicProp1.description = undefined;
var basicProp2 = new Object();
basicProp2.name = "description";
basicProp2.description = undefined;
var basicProp3 = new Object();
basicProp3.name = "tags";
basicProp3.description = undefined;
var basicProp4 = new Object();
basicProp4.name = "homeMashup";
basicProp4.description = undefined;
basicpropInfoTable.AddRow(basicProp1);
basicpropInfoTable.AddRow(basicProp2);
basicpropInfoTable.AddRow(basicProp3);
basicpropInfoTable.AddRow(basicProp4);
var propertyNamesInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
var prop1 = new Object();
prop1.name = "Property1";
prop1.description = undefined;
var prop2 = new Object();
prop2.name = "Property4";
prop2.description = undefined;
propertyNamesInfoTable.AddRow(prop1);
result = ThingTemplates["Template1"].QueryImplementingThingsOptimizedWithTotalCount({
maxItems: 50 ,
nameMask: "T*",
tags: "MT1:MT1-MTerm1",
query: "{\"filters\":{\"type\": \"LIKE\", \"fieldName\": \"Property1\", \"value\": \"Val*\" }}",
basicPropertyNames: basicpropInfoTable,
propertyNames: propertyNamesInfoTable,
networkName: 'Network1',
networkParentNode: 'TestThing1',
networkMaxDepth: 0,
offset: 0
});
¿Fue esto útil?