使用Go 在GAE 資料儲存中儲存巢狀結構
Google App Engine 資料儲存為Go 中的巢狀結構提供有限支援。本文探討了在資料儲存中實現嵌套結構儲存的解決方案。
問題
以 JSON 形式向用戶發送帖子時,需要包含用戶資訊與帖子一起。儲存兩個欄位(一個用於使用者 ID,一個用於使用者結構)的傳統方法似乎是多餘的。那麼問題來了:有沒有更有效率的解決方案?
解決方案
Go 的 appengine datastore API 提供了 PropertyLoadSaver 介面來解決這個問題。此介面允許使用者為其結構定義自訂序列化和反序列化邏輯。
透過實作此介面的 Load 和 Save 方法,您可以完全控制資料的結構化和序列化方式。這種靈活性使您能夠有效地儲存巢狀結構,同時仍允許對各個欄位進行過濾和索引。
實作
為每個結構實作 PropertyLoadSaver 介面:
輸出JSON
產生的JSON 輸出將保留所需的巢狀結構:
<code class="json">{ "POST": { "field1": "value1", "field2": "value2", "USER": { "user_field1": "value3", "user_Field2": "value4" } } }</code>
以上是如何使用 Go 在 GAE 資料儲存中儲存嵌套結構:高效資料處理的解決方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!