RethinkDB更新嵌套数组中的元素

时间:2016-06-02 07:06:03

标签: database rethinkdb rethinkdb-javascript

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

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

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

实施例。如果插入名为“Deck2”的牌组,则应将其添加到表单

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

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

1 个答案:

答案 0 :(得分:0)

您可能希望将deck_list设为对象而不是数组,并将甲板名称映射到其作业/卡片。然后你可以正常使用update,如果它不存在它将创建它,或者如果它存在则更新它。