Я пытаюсь научиться использовать лямбда-функцию для разрешения конфликтов при вставке в таблицу с rethinkdb
и python
, как в последнем примере на этом страница. Я хотел бы сравнить поле timestamp
между old_doc
и new_doc
и сохранить более новый документ.
r.table(import_table).insert(documents, conflict=lambda id, old_doc, new_doc: new_doc if new_doc['timestamp'] > old_doc['timestamp'] else old_doc).run()```
Это дает следующую ошибку
rethinkdb.errors.ReqlQueryLogicError: ожидаемый тип DATUM, но найдена ФУНКЦИЯ
Я не могу найти много документации по этой ошибке или использованию лямбда-функций для разрешения конфликтов. Запуск чего-то более простого, например:
r.table(import_table).insert(documents, conflict=lambda id, old_doc, new_doc: new_doc).run()
выдает ту же ошибку, которая заставляет меня думать, что я не правильно это пишу. Любая помощь будет оценена по достоинству.