DataStore

Show Deprecated
Not Creatable
Not Replicated

Summary

Methods

Methods inherited from GlobalDataStore

Properties

Methods

GetVersionAsync

Yields

Parameters

key: string
Default Value: ""
version: string
Default Value: ""

Returns

GetVersionAtTimeAsync

Yields

Parameters

key: string
Default Value: ""
timestamp: number
Default Value: ""

Returns

Code Samples

Retrieving DataStore Versions by Time

local DataStoreService = game:GetService("DataStoreService")
local dataStore = DataStoreService:GetDataStore("DataStore")
local key = "key-123"
function setData(data)
local success, result = pcall(function()
dataStore:SetAsync(key, data)
end)
if not success then
warn(result)
end
end
function getVersionAtTime(timestamp)
local success, result, keyInfo = pcall(function()
return dataStore:GetVersionAtTimeAsync(key, timestamp.UnixTimestampMillis)
end)
if success then
if result == nil then
print("No version found at time")
else
print(result, keyInfo.Version)
end
else
warn(result)
end
end
-- Previously ran at 2024/12/02 6:00 UTC
setData("version 1")
-- Previously ran at 2024/12/02 9:00 UTC
setData("version 2")
-- Prints "No version found at time"
local time1 = DateTime.fromUniversalTime(2024, 12, 02, 05, 00)
getVersionAtTime(time1)
-- Prints "version 1 <version>"
local time2 = DateTime.fromUniversalTime(2024, 12, 02, 07, 00)
getVersionAtTime(time2)
-- Prints "version 2 <version>"
local time3 = DateTime.fromUniversalTime(2024, 12, 02, 10, 00)
getVersionAtTime(time3)

ListKeysAsync

Yields

Parameters

prefix: string
Default Value: ""
pageSize: number
Default Value: 0
cursor: string
Default Value: ""
excludeDeleted: boolean
Default Value: false

Returns

ListVersionsAsync

Yields

Parameters

key: string
Default Value: ""
sortDirection: Enum.SortDirection
Default Value: "Ascending"
minDate: number
Default Value: 0
maxDate: number
Default Value: 0
pageSize: number
Default Value: 0

Returns

Code Samples

Retrieving DataStore Versions With A Date Filter

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

()
Yields

Parameters

key: string
Default Value: ""
version: string
Default Value: ""

Returns

()

Events