用户登录

用户可以相互关注。我们可以在用户之间创建一个关注的图形关系,通过这个关系可以得到用户关注的用户列表,还有用户关注的用户发布的内容列表,也可以得到用户的粉丝列表。

用一个 RELATE 声明,让 user:wanghao ,follow 一下 user:libai,再让 user:dufu 关注一下 user:libai。然后让 user:libai 再关注一下 user:dufu。

关注列表

下面我们需要得到 wanghao 这个用户关注的用户列表。SELECT * FROM user,用 WHERE 设置条件。

粉丝列表

SELECT * FROM user,用 WHERE 设置条件,向右的箭头,然后是 follow,向右箭头,括号 user,where id 等于 user:libai。这回查询的结果就是 libai 这个用户的粉丝列表,也就是关注李白的用户。

互相关注

在查询结果里面,可以包含一个表示是否互相关注的属性。 在 SELECT 后面,加上一个左箭头,然后是 follow,再用一个左箭头,括号 user where id 等于 user:libai。

count 一下这个关系,判断一下是否大于 0,起个名字叫 isFollowed。

现在返回的结果里面就会包含一个 isFollowed,它表示的是 libai 这个用户是否已经关注了这个用户。

关注的人发布的内容

再写一段查询,获取到用户关注的人发布的内容列表,SELECT * FROM post,用 WHERE 指定一下查询条件,user

现在得到的响应数据就是 user:wanghao 这个用户所关注的人发布的内容列表。

因为 user:wanghao 只关注了李白,所以这些内容都是李白发布的。在上面可以再让 user:wanghao ,follow 一下 uesr:dufu。

这次这个内容列表里的内容的作者,是李白,或者杜甫。因为这两个用户都是 user:wanghao 这个用户关注的用户。

关注与粉丝《 SurrealDB 多模型数据库:应用实践 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点