主题
OrderedDataStoreKeyValueInfo
概览
| 字段 | 值 |
|---|---|
| Kind | Data · 数据 Data |
| Realm | server |
有序数据存储键值对信息对象,用于承载排序查询结果中的单条记录,包含所属域、键名、整数值与更新时间四项信息。它通常成批出现在分页结果里,作者可据此读取排行榜名次或进行数据比对。该对象只读,反映查询时刻的数据快照。
适用场景
适用于按数值排序读取排行榜、积分榜或贡献榜数据的场景:先对有序数据存储发起排序查询,再逐条读取返回记录中的键名与数值,用于展示名次或做进一步统计。
使用要点
先通过 game:GetService("DataStoreService"):GetOrderedDataStore(name) 取得 OrderedDataStore,并调用 GetSortedAsync 获得 Pages 分页对象;随后调用 Pages:GetCurrentPage() 取回记录数组,逐条读取 Key、Value、Scope 与 UpdatedTime,需要继续翻页时调用 Pages:AdvanceToNextPageAsync()。
注意事项
该类型不可直接构造,禁止使用 OrderedDataStoreKeyValueInfo.New() 或 OrderedDataStoreKeyValueInfo(...),只能由排序查询返回的分页结果产生。其中 Value 为整数,UpdatedTime 为毫秒时间戳;记录为查询时刻的只读快照,不会随底层数据变化自动刷新。
代码示例
从排序分页结果读取条目信息
lua
-- @runtime server
local DataStoreService = game:GetService('DataStoreService')
local Task = game:GetService('Task')
local orderedStore = DataStoreService:GetOrderedDataStore('PlayerScore')
Task:Spawn(function()
local pages = orderedStore:GetSortedAsync(false, 10)
for _, item in ipairs(pages:GetCurrentPage()) do
print(item.Scope, item.Key, item.Value, item.UpdatedTime)
end
end)属性 (4)
| Name | 类型 | 默认值 | 说明 |
|---|---|---|---|
Scope | String | "" | 有序数据存储条目的前置域(Scope),类型为字符串,用于区分同一有序数据存储下不同范围的条目。该属性为只读属性,其值随查询结果一并提供。 |
Key | String | "" | 有序数据存储条目中的键名,类型为字符串,用于标识该条目在有序数据存储中的唯一键。该属性为只读属性,其值随查询结果一并提供。 |
Value | Int | 0 | 有序数据存储条目中保存的整数值,类型为整数,是该条目参与排序所依据的数值。该属性为只读属性,其值随查询结果一并提供。 |
UpdatedTime | Int | 0 | 有序数据存储条目最近一次更新的时间,以毫秒时间戳表示,类型为整数。该属性为只读属性,其值随查询结果一并提供。 |
