堆栈溢出社区我对arango比较陌生,希望使用两个集合构建一个AQL查询,请帮助我
第一个集合:-用户JSON:-“用户标识”:“abcd”,“程序信息”:[ {“程序标识”:101、} ]
第二个集合:-程序JSON:- {“程序标识”:101,“程序名称”:“测试”}
我正在构建查询以使用两个集合获取程序名的信息,如果用户标识将被提供用于u IN用户过滤器u.用户标识==“abcd”用于p IN程序过滤器p.程序标识== u.程序信息[*].程序标识返回p.程序名
但是我得到的是空的[]数组请帮助我
1条答案
按热度按时间ymdaylpp1#
表达式
u.program_info[*].program_id
返回一个数组,其中包含program_info
数组中对象的所有program_id
属性。然而,您将该数组与标量值p.program_id
进行比较,结果得到一个空数组。我想您需要检查p.program_id
是否 * 包含 * 在用户的program_info
中。可以这样做:但是,为了更好地使用索引,最好将查询重写为如下形式(前提是您在
program
集合的program_id
上有一个索引):