【发布时间】:2021-09-04 17:35:10
【问题描述】:
我正在尝试通过它们的集合名称来计算相邻边。
例如,我有一个顶点集合“用户”,它的出站边到 ['visited', 'add_to_cart', 'purchased']。
对于每个顶点用户,我想通过他们的集合名称来计算相邻边。
所以最终的回报会是这样的
{ user_id : "user_1", 访问计数:3, add_to_cart_count : 5, 购买量:1 }
我已经尝试过以下查询,但我怀疑它使用 if else 条件时性能是否最佳,我猜它会妨碍整体性能。
我试过的查询:
FOR user IN User
FOR v, e, p IN OUTBOUND user visited, add_to_cart, purchased
COLLECT user_id = user.user_id
AGGREGATE
visit_count = SUM(SPLIT(e._id, '/')[0] == 'visited'? 1 : 0),
add_to_cart_count = SUM(SPLIT(e._id, '/')[0] == 'add_to_cart'? 1 : 0),
purchase_cnt = SUM(SPLIT(e._id, '/')[0] == 'purchased'? 1 : 0)
RETURN {
user_id, visit_count, add_to_cart_count, purchase_cnt
}
如果这是最好的方法,我可以利用任何与索引相关的收益吗?
期待您的帮助:)
谢谢。
【问题讨论】: