У меня есть небольшой вопрос о запросе rethinkdb в python.
У меня есть вложенный документ:
{'id': XX, 'markets_tracking': {'market_name_1': { 'latest_update': (timestamp), 'market_data': { 'type_1': {'place1': XX, 'place2': XX}, {'type_2': {'place1':XX, 'place2': XX}}}}}}
Этот документ обновляется очень часто (от 500 мс до 2-3 с) одним или несколькими работниками. Это значения места, которые обновляются для определенного типа. Чтобы быть уверенным, что вставлено самое последнее значение, я хочу выполнить проверку поля «lastest_update» (чтобы убедиться, что мое новое извлеченное значение является более новым, чем значение в rethinkdb), прежде чем обновлять его значение места и в в то же время, если я обновлю его, я хочу обновить значение lastest_update...
В настоящее время мне удалось создать условное обновление следующим образом:
r.table('markets_us').get('xxx').update(lambda market: r.branch(market['market_tracking']['market_name_1']['latest_update'] < time.time(), {'market_tracking':{'type_1':{'place1':XX}}}, {})).run()
И теперь мне просто нужно добавить обновление поля «последнее обновление» одновременно, если это возможно.
Спасибо,