Go 1.11 已終止支援,並將於 2026 年 1 月 31 日
淘汰 。淘汰後,您將無法部署 Go 1.11 應用程式,即使貴機構先前使用機構政策重新啟用舊版執行階段的部署作業也一樣。現有的 Go 1.11 應用程式在
淘汰日期 過後,仍會繼續執行並接收流量。建議您
遷移至最新支援的 Go 版本 。
建立、擷取、更新及刪除實體
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
這個 API 支援第一代執行階段,並可在升級至對應的第二代執行階段 時使用。
如要更新至 App Engine Go 1.12 以上版本執行階段,請參閱遷移指南 ,瞭解舊版套裝組合服務的遷移選項。
Datastore 中的資料物件又稱為「實體」 。為方便查詢,每個實體會分門別類到特定的「種類」 中。舉例來說,人力資源應用程式可以用 Employee
種類的實體來代表每位員工。請注意,實體資料值採屬性 形式。如要進一步瞭解實體,請參閱實體、屬性和金鑰 概念文件。
重要事項: 如果資料儲存程式碼沒有效率,會產生不必要的高額費用!
因此,在您編寫程式碼之前,請先瞭解寫入費用 。
建立實體及設定屬性
在 Go 中,您可以透過下列方式建立新的實體:建立 Go 結構的執行個體、填入其欄位,並呼叫 datastore.Put
,將實體儲存至 Datastore。只有匯出的欄位 (以大寫字母開頭) 會儲存至 Datastore。您可以將非空白的 stringID
引數傳送至 datastore.NewKey
,藉此為實體指定索引鍵名稱。
以下範例會建立 Employee
種類的實體、填入屬性值,並將其儲存至 Datastore:
Employee
型別會為資料模型宣告四個欄位:FirstName
、LastName
、HireDate
和 AttendedHRTraining
。
如果您提供空白的金鑰名稱,或使用 datastore.NewIncompleteKey
,Datastore 會自動為實體的金鑰產生數字 ID:
擷取實體
如要擷取以特定索引鍵識別的實體,請將 *datastore.Key
當做引數傳送至 datastore.Get
函式。您可以使用 datastore.NewKey
函式產生 *datastore.Key
。
datastore.Get
會填入適當 Go 結構的例項。
更新實體
如要更新現有實體,請修改結構的屬性,然後呼叫 datastore.Put
。此資料會覆寫現有實體。每次呼叫 datastore.Put
時,系統會將整個物件傳送至 Datastore。
注意: Datastore API 不會區分要建立新實體,還是要更新現有實體。如果金鑰代表已存在的實體,datastore.Put
函式會覆寫現有實體。建立實體之前,您可以使用交易來測試具有特定索引鍵的實體是否已存在。
刪除實體
如有實體的索引鍵,您就可以透過 datastore.Delete
函式刪除該實體:
刪除大量實體
如果需要刪除大量的實體,建議您使用 Dataflow 來同時刪除多個實體 。
使用批次作業
如果您想在單一 Datastore 呼叫中針對大量實體進行操作,可以使用下列批次作業:
以下是批次呼叫的範例:
批次作業不會影響費用。無論每個索引鍵存在與否,您都必須為批次作業中的每一個索引鍵付費。作業中實體的大小不會影響費用。
注意: 對 datastore.PutMulti
或 datastore.DeleteMulti
的呼叫可能對某些實體奏效,但對其他實體則無效。如果呼叫必須完全成功或完全失敗,則一定要使用交易 ,而且所有會受影響的實體都必須屬於相同的實體群組 。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權 ,程式碼範例則為阿帕契 2.0 授權 。詳情請參閱《Google Developers 網站政策 》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-09-23 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-09-23 (世界標準時間)。"],[],[]]