SurrealDB:如何移除已建立的关系及查询关联用户?
SurrealDB: 解除关联与查询关联用户的解决方案
1. 解除user_male与gender:female的interested_in关联
使用UNRELATE语句即可移除指定的关联关系,提供两种写法供你选择:
精准匹配(用户ID不明确时用)
UNRELATE ( SELECT * FROM user WHERE username = 'user_male' )-[interested_in]->( SELECT * FROM gender WHERE id = 'gender:female' );
简洁写法(已知用户和性别ID时用)
UNRELATE user:user_male-[interested_in]->gender:female;
注:如果user_male对应的用户ID不是user:user_male,请优先用第一个查询精准定位用户。
2. 查询所有通过interested_in关联指向gender:female的用户
有两种直观的实现方式:
方式一:从关联边集合查询
直接筛选interested_in边集合中目标为gender:female的条目,返回对应的源用户:
SELECT ->user FROM interested_in WHERE -> = gender:female;
方式二:从目标节点反向遍历
从gender:female节点出发,反向遍历所有interested_in类型的关联边,直接获取关联用户:
SELECT <-interested_in FROM gender:female;
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

