DataStore

Hiển Thị Bản Đã Lỗi Thời

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Không Thể Tạo
Không Sao Chép

Tóm Tắt

Phương Pháp

Phương Pháp kế thừa từ GlobalDataStore

Thuộc Tính

Phương Pháp

GetVersionAsync

Sinh Lợi

Chức năng này lấy lại phiên bản chìa khóa được chỉ định cũng như một ví ví dụ / trường hợpDataStoreKeyInfo .Một nhận dạng phiên bản có thể được tìm thấy thông qua DataStore:ListVersionsAsync() hoặc thay thế là nhận dạng được trả về bởi GlobalDataStore:SetAsync() .

Tham Số

key: string

Tên chìa khóa mà thông tin phiên bản được yêu cầu.Nếu DataStoreOptions.AllScopes được đặt thành true khi truy cập vào kho dữ liệu thông qua DataStoreService:GetDataStore() , tên chìa khóa này phải được gán với phạm vi ban đầu như trong "scope/key".

Giá Trị Mặc Định: ""
version: string

Số phiên bản của chìa khóa mà thông tin phiên bản được yêu cầu.

Giá Trị Mặc Định: ""

Lợi Nhuận

Giá trị của chìa khóa tại phiên bản được chỉ định và một DataStoreKeyInfo bao gồm số phiên bản, ngày và thời gian phiên bản được tạo và các chức năng để lấy lại UserIds và metadata.

GetVersionAtTimeAsync

Sinh Lợi

Chức năng này trả lại phiên bản chìa khóa hiện tại tại một thời điểm nhất định cũng như một ví ví dụ / trường hợpDataStoreKeyInfo .

Tham Số

key: string

Tên chìa khóa mà thông tin phiên bản được yêu cầu.Nếu DataStoreOptions.AllScopes được đặt thành true khi truy cập vào kho dữ liệu thông qua DataStoreService:GetDataStore() , tên chìa khóa này phải được gán với phạm vi ban đầu như trong "scope/key".

Giá Trị Mặc Định: ""
timestamp: number

Thời gian Unix trong mili giây mà phiên bản yêu cầu hiện tại.Phải lớn hơn không.Không được lâu hơn mười phút trong tương lai.

Giá Trị Mặc Định: ""

Lợi Nhuận

Giá trị của chìa khóa đã hiện hành tại thời điểm được chỉ định và một DataStoreKeyInfo bao gồm số phiên bản, ngày và thời gian phiên bản được tạo và các chức năng để lấy lại UserIds.nil nếu không có phiên bản hiện có tại thời điểm yêu cầu.

Mẫu mã

The following code sample retrieves data store key versions using timestamps.

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

Sinh Lợi

Chức năng này trả về một đối tượng DataStoreKeyPages để liệt kê qua các chìa khóa của một kho lưu trữ dữ cửa hàng.Nó chấp nhận một tham số tùy chọn prefix để chỉ tìm kiếm các chìa khóa có tên bắt đầu với tiền tố cung cấp.

Nếu DataStoreOptions.AllScopes được đặt thành true khi truy cập vào kho dữ liệu thông qua DataStoreService:GetDataStore(), các chìa khóa sẽ được trả về với tất cả các phạm vi như là tiền tố.

Tham Số

prefix: string

(Tùy chọn) Prefix để sử dụng để tìm kiếm chìa khóa.

Giá Trị Mặc Định: ""
pageSize: number

(Tùy chọn) Số lượng vật phẩm được trả về trong mỗi trang.Nếu không có giá trị nào được cung cấp, động cơ gửi một giá trị mặc định là 0 cho dịch vụ lưu trữ dữ liệu web, sau đó mặc định là 50 vật phẩm mỗi trang.

Giá Trị Mặc Định: 0
cursor: string

(Tùy chọn) Cursor để tiếp tục lặp lại.

Giá Trị Mặc Định: ""
excludeDeleted: boolean

(Opcional) Bỏ các chìa khóa bị xóa khỏi việc trả về.

Khi bật ListKeys sẽ kiểm tra tối đa 512 chìa khóa.Nếu tất cả các phím được kiểm tra đã bị xóa thì nó sẽ trả về một danh sách trống với một con trỏ để tiếp tục lặp lại.

Giá Trị Mặc Định: false

Lợi Nhuận

Một ví dụ DataStoreKeyPages mà liệt kê các chìa khóa như DataStoreKey các ví dụ.

ListVersionsAsync

Sinh Lợi

Chức năng này liệt kê các phiên bản của chìa khóa được chỉ định theo thứ tự tăng dần hoặc giảm dần được xác định bởi một tham số Enum.SortDirection.Nó có thể lọc các phiên bản trả lại theo thời gian tối thiểu và tối đa.

Tham Số

key: string

Tên chìa khóa cho các phiên bản để liệt kê.Nếu DataStoreOptions.AllScopes được đặt thành true khi truy cập vào kho dữ liệu thông qua DataStoreService:GetDataStore() , tên chìa khóa này phải được gán với phạm vi ban đầu như trong "scope/key".

Giá Trị Mặc Định: ""
sortDirection: Enum.SortDirection

(Tùy chọn) Enum xác định thứ tự sắp xếp tăng dần hoặc giảm dần.

Giá Trị Mặc Định: "Ascending"
minDate: number

(Tùy chọn) Thời gian Unix trong mili giây sau đó các phiên bản nên được liệt kê

Giá Trị Mặc Định: 0
maxDate: number

(Tùy chọn) Thời gian Unix trong mili giây cho đến khi các phiên bản nên được liệt kê.

Giá Trị Mặc Định: 0
pageSize: number

(Tùy chọn) Số lượng vật phẩm được trả về trong mỗi trang.Nếu không có giá trị nào được cung cấp, động cơ gửi một giá trị mặc định là 0 cho dịch vụ lưu trữ dữ liệu web, sau đó mặc định là 1024 vật phẩm mỗi trang.

Giá Trị Mặc Định: 0

Lợi Nhuận

Một ví dụ DataStoreVersionPages mà liệt kê tất cả các phiên bản của chìa khóa như DataStoreObjectVersionInfo các ví dụ.

Mẫu mã

The following code sample retrieves all versions after a specified starting time, sorted in ascending order.

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

()
Sinh Lợi

Chức năng này xóa vĩnh viễn phiên bản được chỉ định của một chìa khóa. Các xác định phiên bản có thể được tìm thấy thông qua DataStore:ListVersionsAsync() .

Không giống như GlobalDataStore:RemoveAsync(), chức năng này không tạo một phiên bản "mộ đá" mới và giá trị bị xóa không thể được lấy lại sau.

Tham Số

key: string

Tên chìa khóa mà một phiên bản sẽ bị xóa.Nếu DataStoreOptions.AllScopes được đặt thành true khi truy cập vào kho dữ liệu thông qua DataStoreService:GetDataStore() , tên chìa khóa này phải được gán với phạm vi ban đầu như trong "scope/key".

Giá Trị Mặc Định: ""
version: string

Số phiên bản của chìa khóa để xóa.

Giá Trị Mặc Định: ""

Lợi Nhuận

()

Sự Kiện