Скажем, у меня есть следующая структура данных:Rethinkdb атомное получать и обновлять
{ "name": "i1", "time": 1, "status": 1}
{ "name": "i2", "time": 2, "status": 1}
{ "name": "i3", "time": 3, "status": 1}
{ "name": "i4", "time": 4, "status": 2}
Мне нужно, чтобы получить элемент с наибольшим временем и «статус» = 1. Тогда обновлять это «состояние» до 2, все это атомарно, поэтому один и тот же элемент не может быть получен другим потребителем в одно и то же время.
Возможно ли это с rethinkdb?
Спасибо! Поиск «без изменений» делает трюк. В моем случае, выбрав по самому большому «времени», подхода «наилучшего усилия» достаточно. Однако, по крайней мере, в python выполнение обновления по лимиту (1) приведет к повышению «TypeError:« r.row »не является вызываемым, используйте« r.row [...] »вместо этого». – sanyi
Ах, извините, мой запрос использовал синтаксис JavaScript. Я собираюсь отредактировать его. –