Skip to content

DataStoreRemoveVersionOptions

概览

字段
KindData · 数据 Data
Realmserver

DataStoreRemoveVersionOptions 是 DataStore:RemoveVersionAsync 的可选参数容器,可通过 DataStoreRemoveVersionOptions.New() 创建。

适用场景

服务端删除某个历史版本时,通常可只传入 key 和 version;需要同时返回 DataStoreKeyInfo 时再传入 options。

使用要点

在协程中调用 store:RemoveVersionAsync(key, version, options);options 使用 DataStoreRemoveVersionOptions.New() 创建,并可设置 WithKeyInfo。

注意事项

DataStoreRemoveVersionOptions 支持 .New(),但不支持 DataStoreRemoveVersionOptions(...) 直接调用简写。版本不存在时,RemoveVersionAsync 会返回 nil。

代码示例

使用 options 删除指定版本

lua
-- @runtime server
local DataStoreService = game:GetService('DataStoreService')
local Task = game:GetService('Task')
local dataStore = DataStoreService:GetDataStore('DocumentationSandbox')
local key = 'cleanup_demo'
local options = DataStoreRemoveVersionOptions.New()
options.WithKeyInfo = true

Task:Spawn(function()
    local pages = dataStore:ListVersionsAsync(key, false, 0, 0, 10)
    local versionInfo = pages:GetCurrentPage()[1]
    if versionInfo == nil then
        print('当前键没有可删除的历史版本')
        return
    end
    -- 仅在确认该沙盒版本可以删除后执行
    local removedValue, keyInfo = dataStore:RemoveVersionAsync(key, versionInfo.Version, options)
    print('删除的版本数据:', removedValue, '版本:', keyInfo and keyInfo.Version)
end)

属性 (1)

Name类型默认值说明
WithKeyInfoBool-是否在移除版本时返回包含版本号、创建和修改日期、UserIds 和 Metas 的 DataStoreKeyInfo 实例。

函数 (1)

New

签名:New() -> DataStoreRemoveVersionOptions

创建一个新的 DataStoreRemoveVersionOptions 实例,用于配置移除数据存储版本时的选项。

返回值 DataStoreRemoveVersionOptions

示例代码

构造历史版本删除选项

lua
-- @runtime server
local options = DataStoreRemoveVersionOptions.New()
options.WithKeyInfo = true
print('是否返回 KeyInfo:', options.WithKeyInfo)