Skip to content

DataStoreSetOptions

DataStore:SetAsync 的可选参数,可通过 DataStoreSetOptions.New() 构造。

概览

DataStoreSetOptions 是 DataStore:SetAsync 的可选参数容器,用于设置 KeyInfo 返回、元数据保留策略、前置版本依赖、用户 ID 和自定义元数据。

可通过 DataStoreSetOptions.New() 构造

代码示例

构造选项

lua
-- @runtime client
local opts = DataStoreSetOptions.New()

函数

GetUserIds

签名:GetUserIds() -> Table

读取当前选项中记录的用户 ID 列表。

返回值 Table — 用户 ID 列表

读取用户 ID 列表

lua
-- @runtime client
local userId = "10001"
local options = DataStoreSetOptions.New()
options:SetUserIds({ userId })
for _, userId in ipairs(options:GetUserIds() or {}) do
    print(userId)
end

SetUserIds

签名:SetUserIds(userIds: Array)

使用传入的用户 ID 数组整体替换选项中的用户 ID 列表。

参数类型说明
userIdsArray用户ID列表

整体替换用户 ID 列表

lua
-- @runtime client
local userId = "10001"
local options = DataStoreSetOptions.New()
options:SetUserIds({ userId })

AddUserId

签名:AddUserId(userId: String)

向当前选项的用户 ID 列表中追加一个用户 ID。

参数类型说明
userIdString用户ID

追加单个用户 ID

lua
-- @runtime client
local userId = "10001"
local options = DataStoreSetOptions.New()
options:AddUserId(userId)

GetMetaDatas

签名:GetMetaDatas() -> Table

读取当前选项中保存的用户自定义元数据表,表中的键为字符串,值可以是任意类型。

返回值 Table — 元数据表(键为字符串,值为任意类型)

读取元数据字典

lua
-- @runtime client
local options = DataStoreSetOptions.New()
options:SetMetaData('source', 'save')
local metas = options:GetMetaDatas() or {}
print(metas.source)

SetMetaDatas

签名:SetMetaDatas(dict: Table)

使用传入的字典整体替换选项中的用户自定义元数据。

参数类型说明
dictTable元数据字典

整体替换元数据字典

lua
-- @runtime client
local options = DataStoreSetOptions.New()
options:SetMetaDatas({ source = 'save', season = 's1' })

UpdateMetaDatas

签名:UpdateMetaDatas(dict: Table)

将传入的元数据字典合并到当前选项的元数据中,已存在的键会被新值覆盖。

参数类型说明
dictTable要合并的元数据

合并更新元数据字典

lua
-- @runtime client
local options = DataStoreSetOptions.New()
options:SetMetaDatas({ source = 'save' })
options:UpdateMetaDatas({ season = 's1' })

SetMetaData

签名:SetMetaData(name: String, value: String)

在选项中设置单个用户自定义元数据项,以 name 为键、以 value 为值。

参数类型说明
nameString元数据键名
valueString元数据键值

设置单个元数据

lua
-- @runtime client
local options = DataStoreSetOptions.New()
options:SetMetaData('source', 'save')

属性

名称类型默认值说明
WithKeyInfoBool-设置在操作完成后是否返回 DataStoreKeyInfo 实例;该实例中包含版本号、创建和修改日期、用户 ID 及元数据信息。
KeepOldMetasBool-设置在数据更新时是否保留旧元数据。
DependPrevVersionString-设置数据更新所依赖的前置版本号;仅当数据的当前版本与该属性值一致时,才允许执行本次更新。