OrderedDataStore
A OrderedDataStore is essentially a GlobalDataStore with the exception that stored values must be positive integers. It exposes a method GetSortedAsync() which allows inspection of the entries in sorted order using a DataStorePages object.
See Data Stores for an overview on using ordered data stores.
Code Samples
local DataStoreService = game:GetService("DataStoreService")
local pointsStore = DataStoreService:GetOrderedDataStore("Points")
local function printTopTenPlayers()
local isAscending = false
local pageSize = 10
local pages = pointsStore:GetSortedAsync(isAscending, pageSize)
local topTen = pages:GetCurrentPage()
-- The data in 'topTen' is stored with the index being the index on the page
-- For each item, 'data.key' is the key in the OrderedDataStore and 'data.value' is the value
for rank, data in ipairs(topTen) do
local name = data.key
local points = data.value
print(name .. " is ranked #" .. rank .. " with " .. points .. "points")
end
-- Potentially load the next page...
--pages:AdvanceToNextPageAsync()
end
-- Create some data
pointsStore:SetAsync("Alex", 55)
pointsStore:SetAsync("Charley", 32)
pointsStore:SetAsync("Sydney", 68)
-- Display the top ten players
printTopTenPlayers()
Summary
Properties
Methods
- yields
Returns a DataStorePages object.
- yields
Returns the value of a key in a specified data store and a DataStoreKeyInfo instance.
- yields
Increments the value of a key by the provided amount (both must be integers).
- yields
Removes the specified key while also retaining an accessible version.
- yields
Sets the value of the data store for the given key.
- yields
Updates a key's value with a new value from the specified callback function.
Properties
Methods
GetSortedAsync
Returns a DataStorePages object. The sort order is determined by ascending, the length of each page by pageSize, and minValue/maxValue are optional parameters which filter the results.
See Data Stores for request limits and descriptions of the error codes.
Parameters
A boolean indicating whether the returned data pages are in ascending order.
The length of each page. By default is 50. The max allowed value is 100.
Optional parameter. If set, data pages with a value less than than minValue will be excluded.
Optional parameter. If set, data pages with a value greater than maxValue will be excluded.
Returns
A sorted DataStorePages object based on the provided arguments.