2016-06-02 10 views
0
{ 
    id: "a", 
    deck_list: [{ 
     name: 'Deck1', 
     job: 'mage', 
     cards: [] 
    }], 
    match: [] 
} 

Hallo, ich versuche, eine DB für Kartenspiel Decks zu machen. In 'deck_list' gibt es eine Liste von Decks, die von Benutzern erstellt wurden. Wenn der Benutzer ein neues Deck hinzufügt, wird es in deck_list eingefügt.RethinkDB Aktualisiere das Element in dem verschachtelten Array

Wenn der Name des Decks jedoch bereits vorhanden ist, sollte das Deck aktualisiert und nicht eingefügt werden.

Ex. Wenn einige Deck namens ‚Deck2‘ eingeführt wird, dann sollte es

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

Aber wenn ‚Deck1‘ hinzugefügt wird, zu bilden, hinzugefügt werden, dann alten ‚Deck1‘ sollte mit neueren ‚Deck1‘ ersetzt.

Antwort

0

Wahrscheinlich möchten Sie deck_list ein Objekt anstelle eines Arrays machen und vom Namen des Decks zu seinem Job/seinen Karten mappen. Dann können Sie normalerweise update verwenden, und es wird das Deck erstellen, wenn es nicht existiert, oder es aktualisieren, wenn es das tut.