Composer 中的 ThingWorx 模型定义 > 建模 > 代码片段 > QueryImplementingThingsOptimizedWithTotalCount
QueryImplementingThingsOptimizedWithTotalCount
说明
使用此服务,可以查询实现作为服务运行基础的事物模板或事物形态的事物。结果为信息表,其中包含实现模板或数据形状的事物,以及运行查询所在的事物模板或事物形态的属性值。
输入
参数名称
说明
基本类型
maxItems
在结果集中返回的最大项数。默认值为 500。此参数仅在应用了所有其他筛选器后才会应用。
NUMBER
tags
与此条目的源关联的模型标记。
TAGS
nameMask
实现事物模板或事物形态的实体的名称模式。
STRING
query
用于筛选数据的查询条件。
只能为作为服务运行基础的事物模板或事物形态的有效属性编写筛选器。
有关详细信息,请参阅查询服务的查询参数
QUERY
withPermissions
如果为 true,则结果中将包含权限信息。
BOOLEAN
basicPropertyNames
包含基本属性列表的信息表,其中基本属性包括 isSystemObject、name、description、homeMashup、avatar 和 tags 等。
信息表的预期数据形状为 EntityList
INFOTABLE
propertyNames
信息表,其中包含事物模板或事物形态的特定属性的列表。指定的属性必须在作为服务运行基础的事物模板或事物形态中定义。
信息表的预期数据形状为 EntityList
INFOTABLE
networkName
筛选所基于的网络名称。查询将仅返回从该网络的事物中找到的结果。
networkParentNode
networkName 中所指定的网络中的顶层节点名称。查询将返回网络中指定父节点的所有子项。
STRING
networkMaxDepth
在网络中搜索的最大深度。如果将此值设置为默认值 0,则查询将返回子项的完整层次结构。
INTEGER
offset
开始从查询返回行之前要跳过的行数。如果设置为默认值 0,查询将返回所有行。这可用于为结果分页。
NUMBER
输出
参数名称
说明
基本类型
result
将返回一个信息表,其中包含实现事物模板或事物形态的事物列表,以及事物模板或事物形态所请求的属性及其值。信息表的数据形状为 ImplementedThingsWithTotalCount
INFOTABLE
示例
实体
ShapeProp1
ShapeProp2
ShapeProp3
ThingShape1
已定义
不适用
不适用
ThingShape2
不适用
已定义
不适用
ThingShape2
不适用
不适用
已定义
实体
父事物模板
Prop1
Prop2
Prop3
Prop4
实现的事物形态
有效属性
Template1
已定义
不适用
不适用
不适用
ThingShape1
Prop1ShapeProp1
Template2
Template1
继承自 Template1
已定义
不适用
不适用
ThingShape2
Prop1
Prop2
ShapeProp1
ShapeProp2
Template3
Template2
继承自 Template2
继承自 Template2
已定义
不适用
Prop1
Prop2
Prop3
ShapePropy1
ShapeProp2
Template4
Template2
继承自 Template2
继承自 Template2
不适用
已定义
ThingShape4
Prop1
Prop2
Prop4
ShapeProp1
ShapeProp2
ShapeProp4
实体
实现
模型标记
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
在以下查询中,生成的信息表包含:请求的基本属性 (name、description、tags、homeMashup)、在事物模板上请求的属性 (Prop1) 以及事物的名称。
以下代码将使用所有受支持的参数查询带有数据的实现事物。
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
});
这对您有帮助吗?