我知道我們可以通過兩個操作進行更新,首先通過查詢數據庫獲取主鍵,然後通過put操作更新它。但DynamoDB是否支持通過一個操作更新關係數據庫(如mysql)?由於兩次操作將花費更多時間進行網絡傳輸。DynamoDB是否支持更新操作(如關係數據庫)
我的情況是這樣的: 我有一個表A與字段ID,名稱,位置,值。
而名稱+位置可以唯一地定義一行。 所以現在我想在名稱和位置滿足某些條件時更新字段「值」,但我不知道該ID。因此,如果我使用mysql,那麼我可以通過「更新設置值= XXX其中name =」abc「和location =」123「」來更新它。 但是當我使用dynamoDB時,我必須先獲得主鍵ID。 然後使用密鑰更新該項目。所以我的問題是,DynamoDB是否也支持與MySQL類似的更新操作。 謝謝!
我的情況是: 我有場ID,名稱,位置值的表一。 名稱+位置可以唯一地定義一行。所以現在我想在名稱和位置滿足某些條件時更新字段「值」,但我不知道該ID。因此,如果我使用mysql,那麼我可以通過「更新設置值= XXX其中name =」abc「和location =」123「」來更新它。但是當我使用dynamoDB時,我必須先獲得主鍵ID。然後使用密鑰更新該項目。所以我的問題是,DynamoDB是否也支持與MySQL類似的更新操作。 謝謝! – Joey
DynamoDB不支持您所描述的功能,但我建議您閱讀文檔/開發人員指南。據我所知,你甚至不需要一個ID,或者你可以讓ID是一個屬性。 – Hanny
DynamoDB不支持您描述的功能,但我建議您閱讀文檔/開發人員指南,特別是關於散列和範圍鍵的內容。解決您的問題是數據模式。由於_name_和_location_是唯一的,所以您可以設置hash-key = _name_和range-key = _location_(反之亦然,選擇最具多樣性的散列鍵),這樣您就可以一步更新該行。你甚至不需要_ID_,或者你可以讓_ID_成爲一個屬性。這裏是鏈接[數據模型](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html) – Hanny