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

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

僅當密鑰不存在于 Google 數據存儲中時,才寫入實體

僅當密鑰不存在于 Google 數據存儲中時,才寫入實體

慕標5832272 2022-09-12 16:22:01
我試圖解決的問題是:我有一個每天生成實體的服務。其中一些實體將是新的,有些實體已經在以前的運行中找到。我需要:使數據庫保持最新,即包含所有已找到的實體能夠判斷何時找到新實體。每個實體都包含一個時間戳,所以如果我能確保實體沒有被過度覆蓋,這應該不會太難(我只會在數據庫中查詢今天找到的實體,這些實體應該是新的實體),所以這就是我試圖做的。生成的數據如下所示[{"key": "a","foo": "bar","timestamp": "EXMAPLE_TIMESTAMP" },{"key": "b","foo": "baz","timestamp": "EXMAPLE_TIMESTAMP" }] 注: 實體具有唯一的數據存儲密鑰編輯:我嘗試使用,但如果實體的鍵已經存在,它只會覆蓋實體,這會導致時間戳更新,即使實際內容相同。Put()
查看完整描述

1 回答

?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

僅當鍵不存在時,才使用插入突變來保存實體。


_, err = client.Mutate(ctx, datastore.NewInsert(key, value))

if merr, ok := err.(datastore.MultiError); ok && merr[0] == codes.AlreadyExists {

    err = nil

}

if err != nil {

    // handle error

}


查看完整回答
反對 回復 2022-09-12
  • 1 回答
  • 0 關注
  • 80 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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