亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何不在數據存儲中存儲 __key__

如何不在數據存儲中存儲 __key__

Go
Smart貓小萌 2023-07-26 16:44:29
這是我將數據保存到數據存儲的方式type UserDetails struct {    UserID    string `datastore:"__key__"`    Name      string    UserEmail string}func (c DataStoreClient) Put(ctx context.Context, orgID string, ud *UserDetails) (id int64, err error) {    key := datastore.NameKey(userKind, ud.UserID, nil)    key.Namespace = orgID    k, err := c.client.Put(ctx, key, ud)    if err != nil {        return 0, err    }    return k.ID, nil}func (ud *DataStoreUserDetails) Save() ([]datastore.Property, error) {    return datastore.SaveStruct(ud)}func (ud *DataStoreUserDetails) LoadKey(k *datastore.Key) error {    ud.UserID = k.Name    return nil}func (ud *DataStoreUserDetails) Load(ps []datastore.Property) error {    return datastore.LoadStruct(ud, ps)}當我調用Put方法時,我能夠UserDetails成功存儲在數據存儲中。但是,除了 中的所有列之外UserDetails,我還可以看到__key__列。我不想那樣。我想保留UserID作為這張桌子的鑰匙。我怎樣才能做到這一點?
查看完整描述

2 回答

?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

使用數據存儲名稱“-”在保存或加載實體時忽略該字段。


type UserDetails struct {

    UserID    string `datastore:"-"` // <-- change on this line

    Name      string

    UserEmail string

}


查看完整回答
反對 回復 2023-07-26
?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

根據以下內容,“?key?”必須是 *datastore.Key 類型,但您使用的是字符串類型。不知道有沒有效果。

但對于您想要實現的目標,您可以做兩件事之一。將 UserID 更改為“userID”并且不指定標簽或使用

用戶 ID 字符串`數據存儲:"-"`

這將阻止它被存儲。


查看完整回答
反對 回復 2023-07-26
  • 2 回答
  • 0 關注
  • 168 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號