2016-09-23 3 views
1

Ist es möglich, eine "upsert" mit einem Inkrement zu tun? Wenn also die Abfrage ist ein Einsatz der Zähler initialisieren mit und wenn es ein Update wird es Schritt der Zähler umUpsert & inkrement in RethinkDB

Antwort

1
table.insert({id: 1, counter: 1}, {conflict: function(id, oldVal, newVal) { 
    return newVal.merge({counter: oldVal('counter').add(1)}) 
}}) 

Eingeführt in v2.3.0 IIUC: https://github.com/rethinkdb/rethinkdb/releases/tag/v2.3.0

+0

Entschuldigung, ich bin kein rethinkdb Guru, aber würde dies nicht verlangen, "Counter" einzigartig zu sein? Ich dachte, dass RethinkDB nur die Eindeutigkeit des Primärschlüssels unterstützt (in diesem Beispiel würde ich annehmen, dass es "id" ist). – Endophage