Composer 中的 ThingWorx 模型定義 > 建模 > 程式碼片段 > QueryImplementingThingsOptimizedWithTotalCount
QueryImplementingThingsOptimizedWithTotalCount
描述
您可以使用此服務來查詢實行對其執行服務之物範本或物形式的物件。結果是資料負載,其中包含實行範本或資料形式的物件,以及對其執行查詢之物範本或物形式的內容值。
輸入
參數名稱
描述
基礎類型
maxItems
要在結果集中傳回的最大項目數。預設值為 500。此參數會在套用其他所有篩選器之後套用。
NUMBER
tags
與此項目的來源相關聯的模型標籤。
TAGS
nameMask
實行物範本或物形式之實體的名稱模式。
STRING
query
用來篩選資料的查詢條件。
只能為對其執行服務之物範本或物形式的有效內容編寫篩選器。
如需詳細資訊,請參閱查詢服務的查詢參數
QUERY
withPermissions
若為 true,權限資訊會包括在結果中。
BOOLEAN
basicPropertyNames
包含基本內容清單的資料負載,例如,isSystemObject、名稱、描述、homeMashup、頭像和標籤。
資料負載的預期資料形式為 EntityList
INFOTABLE
propertyNames
包含物範本或物形式之特定內容清單的資料負載。指定的內容必須在對其執行服務的物範本或物形式上定義。
資料負載的預期資料形式為 EntityList
INFOTABLE
networkName
要篩選的網路名稱。查詢將只會傳回來自該網路的物件中的結果。
networkParentNode
networkName 中指定之網路中頂層節點的名稱。查詢將會傳回網路中指定父節點的所有子項。
STRING
networkMaxDepth
在網路中搜尋的最大深度。如果將此值設定為預設值 0,查詢會傳回子項的完整階層。
INTEGER
offset
開始從查詢傳回列之前要跳過的列數。如果設定為預設值 0,查詢將會傳回所有列。這可用於對結果進行分頁。
NUMBER
輸出
參數名稱
描述
基礎類型
result
傳回資料負載,其中包含實行物範本或物形式的物件清單,以及物範本或物形式的請求內容及其值。資料負載的資料形式為 ImplementedThingsWithTotalCount
INFOTABLE
範例
實體
ShapeProp1
ShapeProp2
ShapeProp3
ThingShape1
已定義
NA
NA
ThingShape2
NA
已定義
NA
ThingShape2
NA
NA
已定義
實體
父項物範本
Prop1
Prop2
Prop3
Prop4
已實行的物形式
有效內容
Template1
已定義
NA
NA
NA
ThingShape1
Prop1, ShapeProp1
Template2
Template1
繼承自 Template1
已定義
NA
NA
ThingShape2
Prop1,
Prop2,
ShapeProp1,
ShapeProp2
Template3
Template2
繼承自 Template2
繼承自 Template2
已定義
NA
Prop1,
Prop2,
Prop3,
ShapePropy1,
ShapeProp2
Template4
Template2
繼承自 Template2
繼承自 Template2
NA
已定義
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
在下列查詢中,產生的資料負載包含請求的基本內容 (名稱、描述、標籤、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
});
這是否有幫助?