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.
Ordered data stores do not support versioning and metadata, so DataStoreKeyInfo is always nil for keys in an OrderedDataStore. If you need versioning and metadata support, use a DataStore.
Ordered data stores do not support the optional userIds parameter for SetAsync() or IncrementAsync().
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
Methods
Returns a DataStorePages object.
Returns the value of a key in a specified data store and a DataStoreKeyInfo instance.
- IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
Increments the value of a key by the provided amount (both must be integers).
Removes the specified key while also retaining an accessible version.
Sets the value of the data store for the given key.
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 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.