在 RethinkDB/ReQL 中的过滤器中使用另一个查询的结果
Use result from another query in filter in RethinkDB/ReQL
知道如何 select 客户端过滤器中的代理 ID 吗?
这就是我现在所拥有的并且它有效,但我不喜欢这样,首先我们正在等待代理 selected 然后我们再次访问数据库 select 客户。
有没有一种方法可以在没有 "then".
的情况下通过链接一次完成所有操作
const clients = await r.table('agents').getAll(teamId, {index: 'teamId'})('id').then(agentIds =>
r.table('clients').filter(client => r.or(
r.expr(agentIds).contains(client('agentId')),
r.table('tasks').filter(
task => r.expr(agentIds).contains(task('agentId'))
)('clientId').contains(client('id'))
))
);
你可以这样写:
r.table('agents').getAll(teamId, {index: 'teamId'})('id').coerceTo('array').do(agentIds =>
...
)
要构建获取 agentId 的单个 RethinkDB 查询,将它们存储在一个变量中,然后执行其他操作。
知道如何 select 客户端过滤器中的代理 ID 吗?
这就是我现在所拥有的并且它有效,但我不喜欢这样,首先我们正在等待代理 selected 然后我们再次访问数据库 select 客户。
有没有一种方法可以在没有 "then".
的情况下通过链接一次完成所有操作const clients = await r.table('agents').getAll(teamId, {index: 'teamId'})('id').then(agentIds =>
r.table('clients').filter(client => r.or(
r.expr(agentIds).contains(client('agentId')),
r.table('tasks').filter(
task => r.expr(agentIds).contains(task('agentId'))
)('clientId').contains(client('id'))
))
);
你可以这样写:
r.table('agents').getAll(teamId, {index: 'teamId'})('id').coerceTo('array').do(agentIds =>
...
)
要构建获取 agentId 的单个 RethinkDB 查询,将它们存储在一个变量中,然后执行其他操作。