Иль*_*чев 3 kotlin kotlin-exposed
我有以下代码片段:
UserDataModel
.find {
UserDataTable.type eq type and (
UserDataTable.userId eq userId
)
}
.limit(count)
.sortedByDescending { it.timestamp }
Run Code Online (Sandbox Code Playgroud)
sortedByDescending是 kotlin 集合 API 的一部分。我主要关心的是:如果 select 查询看起来像这样并且不包含 ORDER BY 子句,那么暴露的 lib 如何从表中返回顶部(根据时间戳)count行?
SELECT USERDATA.ID, USERDATA.USER_ID, USERDATA.TYPE,
USERDATA.PAYLOAD, USERDATA."TIMESTAMP"
FROM USERDATA
WHERE USERDATA.TYPE = 'testType'
and USERDATA.USER_ID = 'mockUser'
LIMIT 4
Run Code Online (Sandbox Code Playgroud)
对于相同的数据,有时或以某种方式返回的结果是否可能不同?
真的在这里挣扎。先感谢您。
您正在执行查询后对结果进行排序。
您需要使用文档中orderBy描述的方法
UserDataModel
.find {
UserDataTable.type eq type and (UserDataTable.userId eq userId)
}
.limit(count)
.orderBy(UserDataTable.timestamp to SortOrder.DESC)
Run Code Online (Sandbox Code Playgroud)