DataStore
See Data Stores.
Summary
Properties
Methods
Returns a DataStoreKeyPages object for enumerating through keys of a data store.
Enumerates all versions of a key.
Permanently deletes the specified version of a key.
Events
Properties
Methods
GetVersionAsync
This function retrieves the specified key version as well as a DataStoreKeyInfo instance. A version identifier can be found through DataStore:ListVersionsAsync() or alternatively be the identifier returned by GlobalDataStore:SetAsync().
Parameters
Key name for which the version info is requested. If DataStoreOptions.AllScopes was set to true when accessing the data store through DataStoreService:GetDataStore(), this key name must be prepended with the original scope as in "scope/key".
Version number of the key for which the version info is requested.
Returns
The value of the key at the specified version and a DataStoreKeyInfo instance that includes the version number, date and time the version was created, and functions to retrieve UserIds and metadata.
ListKeysAsync
This function returns a DataStoreKeyPages object for enumerating through keys of a data store. It accepts an optional prefix parameter to only locate keys whose names start with the provided prefix.
If DataStoreOptions.AllScopes was set to true when accessing the data store through DataStoreService:GetDataStore(), keys will be returned with all scopes as prefixes.
Parameters
(Optional) Prefix to use for locating keys.
(Optional) Maximum possible number of items that can be returned.
There is no guarantee that ListKeys will return the same number of items as the specified pageSize. This parameter will only guarantee that ListKeys will never return more than the specified limit.
(Optional) Cursor to continue iteration.
(Optional) Exclude deleted keys from being returned.
When enabled ListKeys will check up to 512 keys. If all checked keys are deleted then it will return an empty list with a cursor to continue iteration.
Returns
A DataStoreKeyPages instance that enumerates the keys as DataStoreKey instances.
ListVersionsAsync
This function enumerates versions of the specified key in either ascending or descending order specified by a SortDirection parameter. It can optionally filter the returned versions by minimum and maximum timestamp.
Parameters
Key name for the versions to list. If DataStoreOptions.AllScopes was set to true when accessing the data store through DataStoreService:GetDataStore(), this key name must be prepended with the original scope as in "scope/key".
Enum specifying ascending or descending sort order.
Date after which the versions should be listed.
Date up to which the versions should be listed.
Number of items to be returned in each page.
Returns
A DataStoreVersionPages instance that enumerates all the versions of the key as DataStoreObjectVersionInfo instances.
Code Samples
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
This function permanently deletes the specified version of a key. Version identifiers can be found through DataStore:ListVersionsAsync().
Unlike GlobalDataStore:RemoveAsync(), this function does not create a new "tombstone" version and the removed value cannot be retrieved later.
Parameters
Key name for which a version is to be removed. If DataStoreOptions.AllScopes was set to true when accessing the data store through DataStoreService:GetDataStore(), this key name must be prepended with the original scope as in "scope/key".
Version number of the key to remove.