主题
DataStoreIncrementOptions
DataStore:IncrementAsync 的可选参数,可通过 DataStoreIncrementOptions.New() 构造。
概览
DataStoreIncrementOptions 是 DataStore:IncrementAsync 的可选参数容器,用于设置自增初始值、元数据、用户 ID、KeyInfo 返回和前置版本依赖。
可通过
DataStoreIncrementOptions.New()构造
代码示例
构造选项
lua
-- @runtime client
local opts = DataStoreIncrementOptions.New()函数
GetUserIds
签名:GetUserIds() -> Table
获取当前选项实例中的用户 ID 列表。
返回值 Table — 用户 ID 列表
读取用户 ID 列表
lua
-- @runtime client
local userId = "10001"
local options = DataStoreIncrementOptions.New()
options:SetUserIds({ userId })
for _, userId in ipairs(options:GetUserIds() or {}) do
print(userId)
endSetUserIds
签名:SetUserIds(userIds: Array)
使用传入的用户 ID 数组整体替换当前选项实例中的用户 ID 列表。
| 参数 | 类型 | 说明 |
|---|---|---|
userIds | Array | 用户ID列表 |
整体替换用户 ID 列表
lua
-- @runtime client
local userId = "10001"
local options = DataStoreIncrementOptions.New()
options:SetUserIds({ userId })AddUserId
签名:AddUserId(userId: String)
向当前选项实例的用户 ID 集合中追加一个用户 ID,用于记录该次自增操作关联的用户。
| 参数 | 类型 | 说明 |
|---|---|---|
userId | String | 用户ID |
追加单个用户 ID
lua
-- @runtime client
local userId = "10001"
local options = DataStoreIncrementOptions.New()
options:AddUserId(userId)GetMetaDatas
签名:GetMetaDatas() -> Table
获取当前选项实例上的用户自定义元数据字典。
返回值 Table — 元数据表(键为字符串,值为任意类型)
读取元数据字典
lua
-- @runtime client
local options = DataStoreIncrementOptions.New()
options:SetMetaData('source', 'daily_reward')
local metas = options:GetMetaDatas() or {}
print(metas.source)SetMetaDatas
签名:SetMetaDatas(dict: Table)
使用传入的字典整体替换当前选项实例中的用户自定义元数据集合。
| 参数 | 类型 | 说明 |
|---|---|---|
dict | Table | 元数据字典 |
整体替换元数据字典
lua
-- @runtime client
local options = DataStoreIncrementOptions.New()
options:SetMetaDatas({ source = 'daily_reward', season = 's1' })UpdateMetaDatas
签名:UpdateMetaDatas(dict: Table)
将传入的字典合并到当前选项实例的已有用户自定义元数据中,已存在的键会被新的值覆盖。
| 参数 | 类型 | 说明 |
|---|---|---|
dict | Table | 要合并的元数据 |
合并更新元数据字典
lua
-- @runtime client
local options = DataStoreIncrementOptions.New()
options:SetMetaDatas({ source = 'daily_reward' })
options:UpdateMetaDatas({ season = 's1' })SetMetaData
签名:SetMetaData(name: String, value: String)
设置当前选项实例中的单个用户自定义元数据项。
| 参数 | 类型 | 说明 |
|---|---|---|
name | String | 元数据键名 |
value | String | 元数据键值 |
设置单个元数据
lua
-- @runtime client
local options = DataStoreIncrementOptions.New()
options:SetMetaData('source', 'daily_reward')属性
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
WithKeyInfo | Bool | - | 指定执行自增后是否返回包含版本号、创建与修改时间、用户 ID 列表及元数据等信息的 DataStoreKeyInfo 实例。 |
KeepOldMetas | Bool | - | 设定执行自增更新时是否保留旧的用户自定义元数据。 |
DefaultInitValue | Int | - | 设定当目标数据键尚不存在时的默认初始值,自增操作将基于该值开始累加。 |
DependPrevVersion | String | - | 记录本次自增操作所依赖的前置版本号,只有目标数据当前的版本与此版本一致时才允许执行自增。 |
