Skip to content

DataStoreKeyBriefInfo ​

概览 ​

字段值
KindData · 数据 Data
Realmserver

DataStoreKeyBriefInfo 是 DataStore:ListKeysAsync 返回的 key 摘要条目,包含 Scope、Key 和 IsDeleted。

适用场景 ​

在服务端分页巡检某个 DataStore 的 key 时,快速读取 key 名、所属 scope 和删除状态。

使用要点 ​

先通过 DataStoreService:GetDataStore 获取 DataStore,再调用 dataStore:ListKeysAsync 获得 DataStoreKeyBriefInfoPages;从 pages:GetCurrentPage() 返回的数组中读取条目。

注意事项 ​

该对象无法自行构造,DataStoreKeyBriefInfo.New(...) 或直接调用都不被允许,只能由分页迭代产生。由于 IsDeleted 可能为真,使用键名之前应先过滤掉已删除的条目;此外键名需与前置域 Scope 结合才能唯一确定,不可仅凭 Key 判定唯一性。

代码示例 ​

读取 key 摘要条目 ​

lua
-- @runtime server
local DataStoreService = game:GetService('DataStoreService')
local Task = game:GetService('Task')
local dataStore = DataStoreService:GetDataStore('PlayerData', 'global')

Task:Spawn(function()
    local pages = dataStore:ListKeysAsync('player_', 10)
    for _, briefInfo in ipairs(pages:GetCurrentPage()) do
        print(briefInfo.Scope, briefInfo.Key, briefInfo.IsDeleted)
    end
end)

属性 (3) ​

Name类型默认值说明
ScopeString""字符串属性,表示该条键记录所属的前置域(Scope)。
KeyString""字符串属性,保存该条键记录的名称(键名)。
IsDeletedBoolfalse布尔值属性,标记该条键记录当前是否处于已删除状态。