我试图学习如何使用lambda函数解决冲突插入到表rethinkdb
和python
表中时,就像这个page上的最后一个示例。我想比较old_doc
和new_doc
之间的timestamp
字段,并保留更新的文档。RethinkDB插入和冲突解决函数语法
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: Expected type DATUM but found FUNCTION
我无法找到这个错误多文档或使用lambda函数解决冲突。运行简单的东西,如:
r.table(import_table).insert(documents, conflict=lambda id, old_doc, new_doc: new_doc).run()
给出了一个让我觉得我不是正确写这同样的错误。任何帮助,将不胜感激。
即使使用'r.branch',我也会得到相同的错误。 – chacalle
我刚刚将您的示例粘贴到数据资源管理器中,并返回与上述相同的错误。 – chacalle