DataStore

แสดงที่เลิกใช้งานแล้ว

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

ไม่สามารถสร้าง
ไม่ซ้ำ

สรุป

วิธีการ

วิธีการรับทอดมาจากGlobalDataStore
  • ผลตอบแทน

    ส่งค่าของกุญแจในคลังข้อมูลที่กำหนดและตัวอย่าง DataStoreKeyInfo อินสแตนซ์

  • IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
    ผลตอบแทน

    เพิ่มมูลค่าของกุญแจโดยจำนวนที่กำหนด (ทั้งสองต้องเป็นตัวเลข)

  • ผลตอบแทน

    ลบคีย์ที่ระบุโดยยังคงรักษารุ่นที่เข้าถึงได้

  • SetAsync(key : string,value : Variant,userIds : Array,options : DataStoreSetOptions):Variant
    ผลตอบแทน

    ตั้งค่าค่าของคลังข้อมูลสำหรับกุญแจที่กำหนดไว้

  • UpdateAsync(key : string,transformFunction : function):Tuple
    ผลตอบแทน

    อัปเดตค่าของกุญแจด้วยค่าใหม่จากฟังก์ชันการโทรกลับที่กำหนดไว้

คุณสมบัติ

วิธีการ

GetVersionAsync

ผลตอบแทน

ฟังก์ชันนี้ดึงรุ่นกุญแจที่ระบุและตัวอย่าง DataStoreKeyInfo ได้ตัวระบุเวอร์ชันสามารถค้นหาได้ผ่าน DataStore:ListVersionsAsync() หรืออาจเป็นตัวระบุที่ส่งคืนโดย GlobalDataStore:SetAsync()

พารามิเตอร์

key: string

ชื่อกุญแจที่ข้อมูลเวอร์ชันถูกร้องขอหาก DataStoreOptions.AllScopes ถูกตั้งค่าเป็นจริงเมื่อเข้าถึงคลังข้อมูลผ่าน DataStoreService:GetDataStore() ชื่อกุญแจนี้จะต้องถูกแทรกก่อนด้วยขอบเขตเดิมตามที่อยู่ใน "scope/key"

ค่าเริ่มต้น: ""
version: string

หมายเลขรุ่นของกุญแจที่ข้อมูลเวอร์ชันถูกร้องขอ

ค่าเริ่มต้น: ""

ส่งค่ากลับ

ค่าของกุญแจในรุ่นที่กำหนดและตัวอย่าง DataStoreKeyInfo ที่รวมหมายเลขรุ่นวันที่และเวลาที่รุ่นถูกสร้างและฟังก์ชันในการดึงข้อมูล UserIds และเมทาดาตา

GetVersionAtTimeAsync

ผลตอบแทน

ฟังก์ชันนี้ดึงรุ่นกุญแจที่เป็นปัจจุบันในเวลาที่กำหนดเช่นเดียวกับตัวอย่าง DataStoreKeyInfo

พารามิเตอร์

key: string

ชื่อกุญแจที่ข้อมูลเวอร์ชันถูกร้องขอหาก DataStoreOptions.AllScopes ถูกตั้งค่าเป็นจริงเมื่อเข้าถึงคลังข้อมูลผ่าน DataStoreService:GetDataStore() ชื่อกุญแจนี้จะต้องถูกแทรกก่อนด้วยขอบเขตเดิมตามที่อยู่ใน "scope/key"

ค่าเริ่มต้น: ""
timestamp: number

เวลาที่ Unix ในมิลลิวินาทีที่รุ่นที่ร้องขออยู่ในปัจจุบันต้องมากกว่าศูนย์ต้องไม่เกินสิบนาทีในอนาคต

ค่าเริ่มต้น: ""

ส่งค่ากลับ

มูลค่าของกุญแจที่เป็นปัจจุบันในเวลาที่กำหนดและตัวอย่าง DataStoreKeyInfo ที่รวมหมายเลขรุ่นวันที่และเวลาที่รุ่นถูกสร้างและฟังก์ชันในการดึงข้อมูล UserIds และเมทาดาตาnil หากไม่มีเวอร์ชันที่ใช้งานอยู่ในเวลาที่ร้องขอ

ตัวอย่างโค้ด

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

ผลตอบแทน

ฟังก์ชันนี้ส่งคืนวัตถุ DataStoreKeyPages ร้านค้าprefix เพื่อค้นหากุญแจที่มีชื่อเริ่มต้นด้วยสuffix ที่ให้ไว้เท่านั้น

หาก DataStoreOptions.AllScopes ถูกตั้งค่าเป็นจริงเมื่อเข้าถึงคลังข้อมูลผ่าน DataStoreService:GetDataStore() กุญแจจะถูกส่งคืนพร้อมกับทุกขอบเขตเป็นตัวอักษรต้น

พารามิเตอร์

prefix: string

(เลือกได้) คํานําหน้าที่จะใช้สําหรับการค้นหากุญแจ

ค่าเริ่มต้น: ""
pageSize: number

(ตัวเลือก) จํานวนรายการที่จะถูกส่งคืนในแต่ละหน้าหากไม่มีค่าที่กำหนด เครื่องยนต์จะส่งค่าเริ่มต้นของ 0 ไปยังบริการเก็บข้อมูลเว็บ ซึ่งในทางกลับกันจะเริ่มต้นที่ 50 รายการต่อหน้า

ค่าเริ่มต้น: 0
cursor: string

(ตัวเลือก) เคอร์เซอร์เพื่อดำเนินการต่อการซ้ำ

ค่าเริ่มต้น: ""
excludeDeleted: boolean

(ตัวเลือก) ไม่ให้คีย์ที่ลบออกถูกส่งคืน

เมื่อเปิดใช้งาน ListKeys จะตรวจสอบได้ถึง 512 คีย์หากลบกุญแจทั้งหมดที่เลือกแล้ว จะส่งคืนรายการว่างเปล่าพร้อมเคอร์เซอร์เพื่อดำเนินการต่อการซ้ำ

ค่าเริ่มต้น: false

ส่งค่ากลับ

ตัวอย่าง DataStoreKeyPages ที่ระบุคีย์เป็นตัวอย่าง DataStoreKey ตัวอย่าง

ListVersionsAsync

ผลตอบแทน

ฟังก์ชันนี้ระบุเวอร์ชันของคีย์ที่ระบุโดยอันดับเพิ่มขึ้นหรือลดลงตามลำดับที่กำหนดโดยพารามิเตอร์ Enum.SortDirectionมันสามารถกรองเวอร์ชันที่ส่งคืนได้โดยเวลาที่น้อยที่สุดและสูงสุดได้

พารามิเตอร์

key: string

ชื่อกุญแจสำหรับรุ่นที่จะแสดงรายการหาก DataStoreOptions.AllScopes ถูกตั้งค่าเป็นจริงเมื่อเข้าถึงคลังข้อมูลผ่าน DataStoreService:GetDataStore() ชื่อกุญแจนี้จะต้องถูกแทรกก่อนด้วยขอบเขตเดิมตามที่อยู่ใน "scope/key"

ค่าเริ่มต้น: ""
sortDirection: Enum.SortDirection

(ตัวเลือก) Enum ระบุลำดับการจัดเรียงแบบเพิ่มขึ้นหรือลดลง

ค่าเริ่มต้น: "Ascending"
minDate: number

(เลือกได้) เวลาที่ Unix ในมิลลิวินาทีหลังจากนั้นเวอร์ชันควรจะระบุไว้

ค่าเริ่มต้น: 0
maxDate: number

(เลือกได้) เวลาที่ Unix ในมิลลิวินาทีที่เวอร์ชันควรจะระบุไว้

ค่าเริ่มต้น: 0
pageSize: number

(ตัวเลือก) จํานวนรายการที่จะถูกส่งคืนในแต่ละหน้าหากไม่มีค่าที่กำหนด เครื่องยนต์จะส่งค่าเริ่มต้นของ 0 ไปยังบริการเก็บข้อมูลเว็บ ซึ่งในทางกลับกันจะเริ่มต้นที่ 1024 รายการต่อหน้า

ค่าเริ่มต้น: 0

ส่งค่ากลับ

ตัวอย่าง DataStoreVersionPages ที่ระบุเวอร์ชันทั้งหมดของกุญแจเป็น DataStoreObjectVersionInfo ตัวอย่าง

ตัวอย่างโค้ด

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

()
ผลตอบแทน

ฟังก์ชันนี้ลบรุ่นที่กำหนดไว้ของกุญแจอย่างถาวร ตัวระบุรุ่นสามารถค้นหาได้ผ่าน DataStore:ListVersionsAsync()

ไม่เหมือนกับ GlobalDataStore:RemoveAsync() ฟังก์ชันนี้จะไม่สร้างรุ่น "tombstone" ใหม่และค่าที่ถูกลบไม่สามารถดึงคืนได้ในภายหลัง

พารามิเตอร์

key: string

ชื่อกุญแจสำหรับรุ่นที่จะถูกลบหาก DataStoreOptions.AllScopes ถูกตั้งค่าเป็นจริงเมื่อเข้าถึงคลังข้อมูลผ่าน DataStoreService:GetDataStore() ชื่อกุญแจนี้จะต้องถูกแทรกก่อนด้วยขอบเขตเดิมตามที่อยู่ใน "scope/key"

ค่าเริ่มต้น: ""
version: string

หมายเลขรุ่นของกุญแจที่จะลบ

ค่าเริ่มต้น: ""

ส่งค่ากลับ

()

อีเวนต์