2016-09-23 2 views
1

Возможно ли выполнить «upsert» с шагом? Таким образом, если запрос вставки счетчик инициализации с и если это обновление он будет приращение счетчик наUpsert & increment in RethinkDB

ответ

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

Введенный в v2.3.0 IIUC: https://github.com/rethinkdb/rethinkdb/releases/tag/v2.3.0

+0

Извинения, я не гуру rethinkdb, но разве это не требовало бы 'counter' быть уникальным? Я думал, что RethinkDB поддерживает только уникальность первичного ключа (который в этом примере я бы предположил как 'id') – Endophage