2

我有一张桌子A和一张桌子B。

表 B 与 A 有关系,键为a_id

我已经在表 A 中创建了文档。我想知道如何使用表 B 中的带有外键 A 的文档在单个查询中插入数据。

r.db('DB').table('B').insert([{
    'b_data': ...,
    'a_id': r.db('DB').table('a').filter(r.row['name'] == 'some_name')
} for p in a]).run(conn)
4

1 回答 1

2

您在正确的轨道上,但 ReQL 与 SQL 的逻辑不同,因为它通常更像是一个流。因此,您的查询需要从数据源开始,以便它可以流入插入部分。所以这是我认为你想要的版本(Python格式):

r.db('DB').table('a').filter({'name':'some_name}).for_each(
    r.db('DB').table('b').insert(
        {'name':r.row['name'],'b_data':'something'}
    )
).run(conn)
于 2015-04-28T16:52:48.327 回答