RethinkDB 更新嵌套数组中的元素

RethinkDB Update the element in the nested array

{
   id: "a",
   deck_list: [{
      name: 'Deck1',
      job: 'mage',
      cards: []
   }],
   match: []
 }

您好,我正在尝试为纸牌游戏 Decks 制作 DB。在'deck_list'中,有用户创建的卡组列表。每当用户添加新牌组时,它就会被插入 deck_list。

但是,当牌组名称已经存在时,应该更新牌组,而不是插入牌组。

例如。如果插入了一些名为 'Deck2' 的牌组,则应将其添加到表格

{
   id: "a",
   deck_list: [{
      name: 'Deck1',
      job: 'mage',
      cards: []
   },
   {
      name: 'Deck2',
      job: 'mage',
      cards: []
   }],
   match: []
 }

但是当添加'Deck1'时,旧的'Deck1'应该被新的'Deck1'替换。

您可能想让 deck_list 成为对象而不是数组,并将牌组名称映射到它的 job/cards。然后就可以正常使用update了,如果牌组不存在就会创建,如果有就更新。