RethinkDB Обновить элемент во вложенном массиве

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

Привет, я пытаюсь сделать БД для колод карточной игры. В «deck_list» находится список колод, созданных пользователями. Каждый раз, когда пользователь добавляет новую колоду, она будет вставлена ​​в deck_list.

Однако, когда название колоды уже существует, колоду следует обновить, а не вставлять.

Бывший. Если вставлена ​​колода с именем «Deck2», то ее нужно добавить в форму.

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

Но когда добавляется «Deck1», тогда старый «Deck1» должен быть заменен более новым «Deck1».


person Jaebum    schedule 02.06.2016    source источник


Ответы (1)


Вероятно, вы захотите сделать deck_list объект, а не массив, и сопоставить имя колоды с ее заданием / картами. Затем вы можете использовать update в обычном режиме, и он создаст колоду, если она не существует, или обновит ее, если она существует.

person mlucy    schedule 02.06.2016