Вы не можете использовать eqJoin
здесь, потому что это требует, чтобы ключи были строго равны (строки не являются массивами и наоборот).
Это также означает лучшую производительность среди всех операций объединения, поэтому eqJoin
предназначен для приема только имени поля, а не выражения.
Похоже, вы хотите innerJoin
, который может справиться с вашим делом, но пожертвовать некоторой производительностью (на самом деле я не уверен в реальных последствиях для производительности):
r.table('table1')
.innerJoin(
r.table('table2'),
(doc1, doc2) => doc1('id').eq(doc2('id').nth(0))
)
Обратите внимание, что вы можете использовать выражения, которые пытались использовать в своем вопросе ("id[0]"
просто означает имя поля для eqJoin
).