请参阅数据存储。
概要
方法
检索指定的钥匙版本。
- ListKeysAsync(prefix : string,pageSize : number,cursor : string,excludeDeleted : bool):DataStoreKeyPages
返回一个 DataStoreKeyPages 对象,用于通过数据存储商店的钥匙列表进行枚列。
- ListVersionsAsync(key : string,sortDirection : Enum.SortDirection,minDate : number,maxDate : number,pageSize : number):DataStoreVersionPages
列出所有版本的钥键。
永久删除指定版本的钥键。
返回指定的数据存储中的钥匙的值,以及一个 DataStoreKeyInfo 实例。
- IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
将键的值提高一个指定的数量(两者都必须为整数)。
保留可访问版本,同时移除指定的钥匙。
设置数据存储为指定钥键的值。
更新键的值,从指定的回调函数中获取一个新值。
属性
方法
GetVersionAsync
此函数还会检索一个 DataStoreKeyInfo 实例,其版本识别器可以通过 DataStore:ListVersionsAsync() 或 alternatively是返回 GlobalDataStore:SetAsync() 的返回。
参数
版本信息所需的钥匙名称。如果 DataStoreOptions.AllScopes 设置为 true 使用 DataStoreService:GetDataStore() 访问数据存储时,此钥匙名必须与原始范围一起使用,如在 "范围/键" 中。
版本信息所需的钥匙的版本号。
返回
在指定版本的钥匙的值和一个 DataStoreKeyInfo 实例,包括版本号、日期和时间版本创建,以及恢复UserIds和元数据的功能。
ListKeysAsync
此函数返回一个 DataStoreKeyPages 对象,用于通过数据存储商店的钥匙列表进行枚列。它接受一个可选的 prefix 参数,用于仅找到始于指定前缀的钥匙。
如果 DataStoreOptions.AllScopes 设置为 true 使用 DataStoreService:GetDataStore() 访问数据存储时,钥匙将以所有范围作为前缀返回。
参数
(可选) 用于找到钥匙的前缀。
(可选) 最多可以返回的物品数量。
(可选) 鼠标指针来继续循环。
(可选) 排除已删除的钥匙从返回。
启用时,ListKeys 可检查到 512 个钥匙。如果所有检查的钥匙都被删除,它将返回一个空列表,用户名称继续循环。
返回
一个 DataStoreKeyPages 实例,该实例列出为 DataStoreKey 实例。
ListVersionsAsync
此函数可以在 Enum.SortDirection 参数指定的上升或下降顺序列出指定的钥匙的版本。它可以选择最小和最大时戳来过滤返回的版本。
参数
列出版本的钥匙名。如果 DataStoreOptions.AllScopes 设置为 true 使用 DataStoreService:GetDataStore() 访问数据存储时,此钥匙名必须与原始范围一起使用,如果在 "范围/键" 中使用 " scope/key" 。
列表的排序顺序可以指定为上升或下降。
在毫秒后的 UNIX 时戳后,版本应该列出。
在毫秒内以 Unix 时戳开始列出版本。
每个页面将返回的物品数量。
返回
一个 DataStoreVersionPages 实例,该实例列出所有版本的钥匙为 DataStoreObjectVersionInfo 实例。
代码示例
local DataStoreService = game:GetService("DataStoreService")
local experienceStore = DataStoreService:GetDataStore("PlayerExperience")
local time = DateTime.fromUniversalTime(2020, 10, 09, 01, 42)
local listSuccess, pages = pcall(function()
return experienceStore:ListVersionsAsync("User_1234", nil, time.UnixTimestampMillis)
end)
if listSuccess then
local items = pages:GetCurrentPage()
for key, info in pairs(items) do
print("Key:", key, "; Version:", info.Version, "; Created:", info.CreatedTime, "; Deleted:", info.IsDeleted)
end
end
RemoveVersionAsync
此功能永久删除指定版本的键匙。版本识别器可以通过 DataStore:ListVersionsAsync() 找到。
与 GlobalDataStore:RemoveAsync() 不同,此函数不会创建新的“墓石”版本,且删除的值不能在后续恢复。
参数
版本号称为要移除的版本。如果 DataStoreOptions.AllScopes 设置为 true 使用 DataStoreService:GetDataStore() 访问数据存储时,此键名必须与原始范围一起使用,因为在 "范围/键" 中,它的前头必须是 "范围" 。
移除钥匙的版本号。