Ich versuche zu lernen, wie Sie die Lambda-Funktion verwenden, um Konflikte beim Einfügen in eine Tabelle mit rethinkdb
und python
, wie das letzte Beispiel auf dieser page zu lösen. Ich möchte ein timestamp
Feld zwischen old_doc
und new_doc
vergleichen und das neuere Dokument behalten.RethinkDB einfügen und Konfliktlösung Funktion Syntax
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()```
Dies gibt der folgende Fehler
rethinkdb.errors.ReqlQueryLogicError: Expected type DATUM but found FUNCTION
ich nicht viel Dokumentation zu diesem Fehler finden oder Lambda-Funktionen zur Konfliktlösung verwenden. Etwas einfacheres laufen lassen wie:
gibt den gleichen Fehler, der mich denken lässt, dass ich das nicht richtig schreibe. Jede Hilfe wäre willkommen.
Selbst wenn 'r.branch' verwendet wird, bekomme ich den gleichen Fehler. – chacalle
Ich habe gerade Ihr Beispiel genau in den Datenexplorer eingefügt und es wurde der gleiche Fehler wie oben angezeigt. – chacalle