Slate-TypeScript-返回承诺中所需的信息



我的代码

@Function()
@Edits(XYZ)
public async fctLargestNumber(): Promise<XYZ[]> {
const maxObject = Objects.search()
.xYZ()
// .groupBy(e => e.lngPlanningNumber.topValues())
// .segmentBy(e => e.lngPlanningNumber.topValues())
// .filter(data_column => data_column.lngPlanningNumber.byIRanges({ min: 100000, max: 999999 }))
.orderBy(data_column => data_column.lngPlanningNumber.desc())
.takeAsync(1)
//.valueOf();         
return maxObject;

现在我收到这样的输出:

[
{"typeId":"my-collection","primaryKey":{"id_pk":"ee1b1ac1-008b-479b-a748-01e8702927c9"}}
]

现在的问题是,我如何才能收到我的结果。

  • 如何挑选主键值
  • 我如何搜索列"的请求结果(整数(;lngPlanningNumber;哪个属于这个id?《承诺》让我很好奇。谢谢

我可能会使用"平台"选项卡并设置一个简单的对象集,该对象集使用id_pk属性和函数返回的值进行筛选。

Slate将把它解析为一个对象列表(在这种情况下,它的长度为1(,并在并行数组中加载所有属性。

如果你真的想要";对象";format(即,作为单个对象的键的所有属性(,然后从响应的中获取对象RID,并在对象上下文中使用它,该上下文获取一个对象RID并简单地返回该对象的所有数据。

部分解决:

@Function()
@Edits(XYZ)
public fctGetLargestNumber(): Integer {
let  DataResult = Objects
.search()
.xYZ()
.orderBy(data_column => data_column.lngPlanningNumber.desc())
.take(1)[0];
const result = DataResult.lngPlanningNumber ?? 0
return result;
}

注意!!!!!函数执行完毕后,对对象和链接的更改将传播到objects.search((API。这意味着Objects.search((API将使用旧的对象、属性和链接。因此,搜索、筛选、搜索循环和聚合可能不会反映对本体的编辑,包括创建和删除您的功能需要手动处理此情况

-->所以我必须对此提出新的问题。。。。。

最新更新