How to get more than 100 values from the datastore

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    I want to get more than 100 values from the datastore if its possible

The code below is what I’ve been trying to use but no success

local orderedDataStore = game:GetService("DataStoreService"):GetOrderedDataStore("Playergrave")
local allKeys = {}

local pageNumber = 10
local pageSize = 100
local lastKeyProcessed = nil

repeat
	local keys = orderedDataStore:GetSortedAsync(pageNumber, pageSize, nil, lastKeyProcessed)
	local currentPage, nextKey = keys:GetCurrentPage()
	for _, key in ipairs(currentPage) do
		table.insert(allKeys, key.key)
		lastKeyProcessed = key.key
	end
	if nextKey == nil then
		break
	end
	pageNumber = pageNumber + 1  
	keys:AdvanceToNextPageAsync()
until false

print("All keys:")
for _, key in ipairs(allKeys) do
	print(key)
end
print("Total count: " .. #allKeys)

I don’t think you can… YOu will have to format it differently

Use JsonEncode and store all of the values in one big table. Then unencode them when you retrieve them.

I figured it out, in case anyone else needs it I will post it here

local orderedDataStore = game:GetService("DataStoreService"):GetOrderedDataStore("Datastorename")
local allKeys = {}

local pageNumber = 1
local pageSize = 100
local lastKeyProcessed = nil

repeat
    local keys = orderedDataStore:GetSortedAsync(pageNumber, pageSize, nil, lastKeyProcessed)
    while true do

        local data = keys:GetCurrentPage()

        for _, entry in pairs(data) do
            table.insert(allKeys, entry.key)
            lastKeyProcessed = entry.key
        end

        if keys.IsFinished then
            break
        else

            keys:AdvanceToNextPageAsync()
        end
    end
    pageNumber = pageNumber + 1
until keys.IsFinished

print("All keys:")
for _, key in ipairs(allKeys) do
    print(key)
end
print("Total count: " .. tostring(#allKeys))

I would also recommend putting a wait function in there

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.